【leetcode】位运算
最近刷了几道算法题,有一些是和位运算有关的,虽然位运算在源码中较多的出现,但个人仍认为其实操意义不大。不过不得不说,基于位运算的一些算法处理,有时候确实很神奇。因此做一个记录。
备注:所有例子都以Java中int类型来说明。
1.二进制与补码
大家都知道,计算机中的一切都是用二进制来表示的,Java中以int为例,一般来说的32位的二进制数字。简单来说,正数的最高位为0,负数的最高位为1,另因为一些原因(具体见参考文档1),负数是使用补码来进行表示。我们可以使用Integer.toBinaryString()方法来查看一些常见的值,做一下直观理解。
System.out.println(Integer.toBinaryString(1)); //1
System.out.println(Integer.toBinaryString(-1)); //11111111 11111111 11111111 11111111
System.out.println(Integer.toBinaryString
【leetcode】位运算最先出现在Python成神之路。
共有 0 条评论