Java基础系列--二进制操作
原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/6490118.html
1、二进制由0和1组成,逢2进1。
2、负数表示法:该数绝对值的补码+1
3、Java总用~表示求补码值,所谓补码就是与该值二进制值相加的结果为11111111111111111111111111111111(共32位)
手算求补码的方法:直接用11111111111111111111111111111111减去已知值的二进制形式即可,结果即为该值的补码二进制形式。
4、移位的实现:
>>带符号右移
相当于当前数值除以2的N次方
<<带符号左移
相当于当前数值乘以2的N次方
>>>无符号右移
相当于当前数值除以2的N次方
<<<无符号左移
相当于当前数值乘以2的N次方
带符号移位操作,正数高位补0,负数高位补1
无符号移位操作,无论正负,高位补0
5、异或
二进制异或,相同为0,不同为1
两个数异或的中间值,与其中任何一个数异或都能得到另一个数,这就是异或换位的实现原理。
(待补充)