C语言按位与怎么运算?
发布网友
发布时间:2022-04-22 14:10
我来回答
共2个回答
热心网友
时间:2023-09-27 06:30
按照位运算,0跟1相与和0跟0相与为0,1跟1相与为1。
根据这个算法,假设a有16位,某种情况下只需要后8位,前八位归0,就可以采用与0000000011111111这个16位数字相与,因为a的前八位不管是0还是1,与0相与都化为零,后八位不管是0还是1,与1相与还是原数。也就是所说的”把数值a的高八位清零,保留低八位“
热心网友
时间:2023-09-27 06:31
~取反,0取反是1,1取反是0
<<是左移,比如1<<n,表示1往左移n位,即数值大小2的n次方
>>右移,类似左移,数值大小除以2的n次方
&按位与,1与任意数等于任意数本身,0与任意数等于0,即1&x=x,0&x=0
|按位或,x|y中只要有一个1则结果为1
^按位异或,x^y相等则为0,不等则为1
所有数值必须转换为二进制数才能位运算,每一位数相对应运算
请采纳。