负数求解方法:
求-7二进制
1.先将-7绝对值转换成二进制,得00000111
2.然后求该二进制数的反码,得11111000
3.最后为第二步得到的二进制数+1,结果为11111001
求-8二进制
1.先将-8绝对值转换成二进制,得00001000
2.然后求该二进制数的反码,得11110111
3.最后为第二步得到的二进制数+1,结果为11111000
有没有发现规律啊:
1.当二进制数的反码的最后一位是0时,直接把0变成1,就是这个负数的最后二进制数
2.当二进制数的反码的最后一位是1时:比如上面的-8的二进制数的反码,得1111 0111
0111是8的绝对值的不完全二进制的二进制码,所以
0111+1 0110
0110+1 0100
0100+1 0000
0000+1 1000
直到8的绝对值的不完全二进制全不转换完为止;
最后的结果因该是11111111111111111111111111111000
例子:
System.out.println(Integer.toBinaryString(-8));
System.out.println(Integer.toBinaryString(-8>>2));
System.out.println(Integer.toBinaryString(-8<<2));
System.out.println(Integer.toBinaryString(-8>>>2));
结果:
11111111111111111111111111111000
11111111111111111111111111111110
11111111111111111111111111100000
111111111111111111111111111110
负数二进制转换详解
本文详细介绍了如何将负数转换为二进制形式,包括取绝对值、求反码及补码的过程,并通过具体实例说明了转换方法。此外还提供了一段Java代码示例,展示了不同位移操作对负数二进制表示的影响。
1352

被折叠的 条评论
为什么被折叠?



