1.十进制数字可以和二进制数进行转换。
例如:十进制的10等于二进制的1010,15的二进制表示为1110。
2.一个简单的算法:对于2的n次幂减1的数字j = 2n-1,例如2-1,4-1,8-1,16-1,32-1,64-1,128-1...等,在java程序中,对于任意的int类型的数字i,有0 <= i & j <= j,也就是i&j的结果总是分布在[0,2n-1]之间。
3.理由:因为2n-1的二进制是1111111...(n-1个)0,任何整数与其进行&运算,得到的结果必然不会大于1111111...(n-1个)0
例如:十进制的10等于二进制的1010,15的二进制表示为1110。
2.一个简单的算法:对于2的n次幂减1的数字j = 2n-1,例如2-1,4-1,8-1,16-1,32-1,64-1,128-1...等,在java程序中,对于任意的int类型的数字i,有0 <= i & j <= j,也就是i&j的结果总是分布在[0,2n-1]之间。
3.理由:因为2n-1的二进制是1111111...(n-1个)0,任何整数与其进行&运算,得到的结果必然不会大于1111111...(n-1个)0