一 机器数和真值
在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.
1、机器数
一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.
比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是00000011。如果是 -3 ,就是 10000011 。
那么,这里的 00000011 和 10000011 就是机器数。
2、真值
因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数 10000011,其最高位1代表负,其真正数值是 -3 而不是形式值131(10000011转换成十进制等于131)。所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。
例:0000 0001的真值 = +000 0001 = +1,1000 0001的真值 = –000 0001 = –1
二 数制和码制
1. 基本单位
单位/名词 | 简称 | 说明 |
---|---|---|
位 (bit) | b (比特) | 一个二进制位只可以表示0和1两种状态,两个位可以表示00, 01, 10, 11,4=22种状态, 三个位可以表示8=23种状态……以此类推 |
字节(Byte) | B | 8个位就是一个字节, 一个字节单位的数据可以有28=256种组合方式(状态)。一个字节的二进制数,最小为00000000,最大为11111111。1B(byte,字节)= 8 bit;1KB(Kibibyte,千字节)=1024B= 210 B;1MB(Mebibyte,兆字节,百万字节,简称“兆”)=1024KB= 220 B …… |
字 | / | 字节是字的基本单位,所以说一个字可以包含一个字节的正整数倍。具体情况根据不同的机器而定,如果是一台16位机,那么,它的1个字就由2个字节构成。也就是说,字是用来一次性处理事务的一个固定长度的位(bit)组。 |
字长 | / | 顾名思义,字长就是字的长度,不过不是用字来表示,而是用位来表示。字长是用来表示字的位数的。例如一台8位机,它的1个字就等于1个字节,字长为8位。如果是一台16位机,它的1个字就由2个字节构成,字长为16位。字长被定义为CPU在单位时间内(同一时间)能一次处理的二进制数(字)的位数。 |
2. 数制
R进制� 逢R进一