1 篇文章

Computer and Science

源码,反码和补码
 • 分类:Computer and science, CS • 标签:Computer and science, CS

一 机器数和真值

在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.

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进一

阅读更多 »