C语言大神谢谢。。。。。 1、计算机里怎么表示负数,为什么这样表示? 2.、在char类型里为什么-128最小,
C语言大神谢谢。。。。。 1、计算机里怎么表示负数,为什么这样表示? 2.、在char类型里为什么-128最小,
日期:2021-11-03 09:11:04 人气:1
1.负数在现代计算机里一般用补码表示,为什么呢?原因是:保证0的左右不矛盾
1是0001,推算出0是0000;
-1的是1111,推算出0也是0000。
如果直接用反码(0变成1,1变成0)那么0就会有两个结果。
如果用第一位表示符号,后三位表示大小,那么就有空间浪费。
2.char类型是8位,1000 0000还原为原码:
最高位是1,表示负数,剩余的各位取反 111 1111 再+1 得到 1000 0000, +128的原码,整个数为-
1是0001,推算出0是0000;
-1的是1111,推算出0也是0000。
如果直接用反码(0变成1,1变成0)那么0就会有两个结果。
如果用第一位表示符号,后三位表示大小,那么就有空间浪费。
2.char类型是8位,1000 0000还原为原码:
最高位是1,表示负数,剩余的各位取反 111 1111 再+1 得到 1000 0000, +128的原码,整个数为-