位运算

浪尽此生 提交于 2019-12-06 02:32:54

二进制

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!