前言 :
为什么需要介绍下位运算呢?其实我是在发现不少性能代码都有不少位运算的身影,之前一直提到位运算的性能高,但是工作中业务码农过程用到的极少,一直没有用心去了解它,今天就来一起看看这家伙怎么这么牛!文章如果有什么不正确的地方,欢迎大家指出哈,感谢感谢 ~.~
● 十进制转二进制(正负数)
● 二进制加减法
● 位运算符
● 位移动运算符
十进制转二级制
位运算是二级制的事情,不过由于我们常常使用的是十位数的计算,先来重温下十进制转成二进制的方法。
方法:给定的十进制数值除以二,记录余数(0 | 1),直到结束,将所得余数反着读,就是其二进制数值,同时这个值也称为原码。若是为负数时,其转成二进制方式为原码 -> 反码(原码的 0 变 1,1 变成 0) -> 补码(将反码 + 1)。
(1)正数十进制 29 转 成二进制数值 变成 11101 。
(2)负数 -29,得到原码 11101,转化反码得到 00010,再得到反码 00011,表示负数前面补 1,如需要获取 32 位二进制数据,则 -29的二进制为 1111 1111 1111 1111 1111 1111 1110 0011。
补充:小伙伴想要验证自己的计算答案可以利用JAVA 中,十进制转二进制的方式