-31:1000 0000 0000 0000 0000 0000 0001 1111
这个没有计算过程,就是直接写,31是11111,负数是第一位为1,共计32位
需要计算过程的是求反码,比如5取反~5
二进制原码:0000 0000 0000 0000 0000 0000 0000 0101
取反操作后:1111 1111 1111 1111 1111 1111 1111 1010
扩展资料:
十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。
十进制整数转换为二进制整数 十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除十进制整数,可以得到一个商和余数;
再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
参考资料来源:百度百科-十进制
这个没有计算过程,就是直接写,31是11111,负数是第一位为1,共计32位
需要计算过程的是求反码,比如5取反~5
二进制原码:0000 0000 0000 0000 0000 0000 0000 0101
取反操作后:1111 1111 1111 1111 1111 1111 1111 1010
而在Java中,有符号整数都是用补码来表示,而补码=反码+1
1.先求反码:1000 0000 0000 0000 0000 0000 0000 0101
2.再求补码:1000 0000 0000 0000 0000 0000 0000 0110
最高位代表符号位 1 表示负数,0 表示正数 所以结果是-6
31我会求了 假设是32 33呢 我不太懂
一样啊,
-32:1000 0000 0000 0000 0000 0000 0010 0000
-33:1000 0000 0000 0000 0000 0000 0010 0001
其实就是最前面加1,后面就是去掉符号的二进制
十进制数-31 使用 8 位包括符号位补码表示时,
--------------
+31 的补码,是:0001 1111。
将其“减一、取反”就是-31 的补码。
先减一,得: 0001 1110。
再取反,即: 1110 0001。