福建陆六六微博:按位运算符是怎么运算的?

来源:百度文库 编辑:高考问答 时间:2024/04/27 13:36:39
& | ^
15&127为什么等于15啊?
127|128为什么等于255啊?
1^1为什么等于0啊?
晕~你说的结果我根本就不理解啊
15=二进制: (0000 1111)
127=二进制:(1111 1111)
为什么按位与自然就是(0000 1111)=15 ?

首先,二进制与运算规则:1&1=1 1&0=0 0&0=0
二进制或运算规则:1|1=1 1|0=1 0|0=0

再:二进制与十进制转换:
不能打2的n次方,只好以例子讲解:
1111 1111=128*1+64*1+32*1+16*1+8*1+4*1+2*1+1*1

0000 0000=128*0+64*0+32*0+16*0+8*0+4*0+2*0+1*0

15=二进制: (0000 1111)
127=二进制:(1111 1111)
按位与自然就是(0000 1111)=15

128=二进制:(0001 0000 0000)
127=二进制:(0000 1111 1111) (高位用0补齐)
按位或 就是(0001 1111 1111)=255

回答补充:
二进制“与”运算规则:1&1=1 1&0=0 0&0=0
二进制“或”运算规则:1|1=1 1|0=1 0|0=0

按位与就是从高到低,逐位进行"与"运算
所以从高到低,15&127:

15=二进制: (0000 1111)
127=二进制:(1111 1111)
↓↓↓↓↓↓
0000 1111
注意: “与”运算规则:1&1=1 1&0=0 0&0=0

1、按位运算符是把两个操作数分别转换成二进制数,如果两个二进制数长度不一样,在短的左边补0,补到一样的长度,然后对两个二进制数按对应的位进行运算。
2、示例按位与:
11101010
00011111
------------
00001010

楼上的有点小错误,15是和127按位与,不是按位或。

楼主看来不知道什么是逻辑运算吧?C语言里用0表示逻辑假值,非0表示逻辑真值。位逻辑运算时,1表示真,0表示假。

你补充的的说法是正确的 “ 0000 1111” 就是15(8+4+2+1) 一般写成16进制 也就是F 0X0F=0000 1111 ,&符号表示相与 1&1=1 1&0=0 0&0=0

二进制00001111不等于十进制15吗????