黑马程序员技术交流社区
标题:
进制转换中二进制的问题
[打印本页]
作者:
四川男人
时间:
2014-4-10 11:02
标题:
进制转换中二进制的问题
一个字节是八位,区间是1000 0000~0111 1111(-128~127)。按照图灵的说法,将前面是1开头的放在0000 0000前面,就变成了负数,为什么?
作者:
赵小豪
时间:
2014-4-10 11:11
那是最高位,最高位表示符号位,整数是0,负数是1.
作者:
赵小豪
时间:
2014-4-10 11:12
有效位只有7位,在位移中就需要注意最高位是0还是1.
作者:
東少
时间:
2014-4-10 14:33
负数最高位是1(负数的1是取反得到的) 移位的时候若是整数用0补充 负数用1补充
作者:
姜姗姗
时间:
2014-4-10 20:55
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 10
1011 11
1100 12
1101 13
1110 14
1111 15
正数
=======
000 -8
1001 -7
1010 -6
1011 -5
1100 -4
1101 -3
1110 -2
1111 -1
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
计算机中的负数使用补码的形式存在的,计算机中只有真、假两种符号,没有特别定义符号位,原因就是为了要降低硬件的成本,所以负数就只能用原码取反、加一的形式来表示。所以设计计算机的逻辑也就可以理解了。
复制代码
作者:
王春蕾
时间:
2014-4-11 16:38
不明白楼主的意思
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2