2 zeng jianh Zeng_jianH 于 2017.08.29 12:08 提问

关于移位的问题,请教一下

a=0x11111111 a=~(1<<4) 这是什么意思

4个回答

Small_Mouse0
Small_Mouse0   Ds   Rxr 2017.08.29 13:01
 1<<4,,,,相当于1*2^4=16
位运算,,左移四位,,,1的二进制为【0000 0001】,,左移四位1<<4二进制为,【0001 0000】,,十进制表示为16

~(1<<4),,,~是取反的符号,,对1<<4取反为【1110 1111】,,
【有符号数】取最高位表示符号位,此数为 -17,,,
【无符号数】此数为255-16=239(应该没算错)
qq_40012903
qq_40012903   2017.08.29 12:43

表示这个数字是16进制的。例如:0xbcad。 顺便一说:0b表示二进制,0表示八进制。 所以, a=0x12;//其实a=18 a=0b11;//其实a=3 a=012;//其实a=10

conveying
conveying   2017.08.29 13:16

<<表示移位,箭头往左是左移

u012959636
u012959636   2017.08.29 14:48

1<<4,<<表示移位,箭头往左是左移,,,相当于1*2^4=16

Csdn user default icon
上传中...
上传图片
插入图片