计算机基础-码制
我相信你肯定听过“32位系统”,“64位系统”,那么这个多少多少位系统到底是什么意思呢?
N位处理器指的是处理器在同一时间内能处理的数据位数。
接下来我就要给大家讲解一下什么是机器字长,
机器字长是指参加运算的寄存器存储的二进制数的位数。
请大家不要混淆这两个概念,假如我们编程的计算机的机器字长为8位,那么它能保存的每个二进制数一定是8位的。利润十进制数45在8位机器字长环境下变成二进制数是:
00101101
45的的确确是
101101
但是由于【我们编程的计算机的机器字长为8位,那么它能保存的每个二进制数一定是8位的。】所以,我们需要在前面补上2个0,使得它变成8位的数。
就像45我们可以写成0045 或者00000045 00000000045一样,这并不影响它所代表的大小。
好了,就让我们进入今天的核心环节:
原码、反码、补码、移码
我先告诉大家怎么计算这些码,然后再告诉大家这样是为了什么?(先假定机器字长n为8)
原码:
1的原码 00000001 -1的原码 10000001 28的原码 00011100 -28的原码 10011100
反码:
1的反码 00000001 -1的反码 11111110 28的反码 00011100 -28的反码 11100011
补码:
1的补码 00000001 -1的补码 11111111 28的补码 00011100 -28的补码 11100100
移码:
1的移码 10000001 -1的移码 11111111 28的移码 10011100 -28的移码 01100100
总结:
1、正数的“原码、反码、补码”均相同
2、负数的反码为符号位不动,其他的取反
3、负数的补码为反码+1
4、移码为符号位取反,其他的和补码一致
5、请务必计算清楚