位运算

二进制

0 + 1 = 1

1 + 1 = 10

10 + 1 = 11

11 + 1 = 110

如何求一个数的2进制?

把这个数对2求余,得到的数字反过来

正数二进制变负数二进制

m << n             m乘以2的n次方

(左移后最高位补0)

m >> n         m乘以2的负n次方

(乘以一个数的负n次方,

等于除以这个数的n次方)

(右移后最高位为1时补1, 最高位为0时补0)

m >>> n      m 乘以2的负n次方

(区别是无符号右移最高位都补0)

m & n       都为1时为1,负责为0

m | n         都为0时为0,负责为1

m ^ n       相同为0,不同为1

~n         反码    1为0,0为1

posted @ 2019-11-29 13:29  冰天雪地btxd  阅读(95)  评论(0)    收藏  举报