BCD码(Binary Coded Decimal):使用二进制来编码十进制数字0~9。
编码方法:一般使用4位二进制编码来表示1位十进制数字,在16个编码中选用10个来表示数字0~9。不同的选择构成不同的BCD码。
分类:
有权码:编码的每一位都有固定的权值,加权求和的值即是表示的十进制数字。如8421码、2421码、5211码、4311码;
无权码:编码的每一位并没有固定的权,主要包括格雷码(有叫循环码)、余3码(对应的8421码加上0011构成的)等。
无符号数据(Unisigned):所有的二进制数据位数均用来表示数值本身,没有正负之分。
当无符号数保存在计算机的寄存器中,寄存器的位数反映无符号数的表示范围。
eg:将无符号数保存在8位的寄存器中,此时无符号数的二进制表示范围是
带符号数据(Signed):则其二进制数据位,包括符号位和数值位。计算机中的带符号数据又称为机器数。
1、机器数与真值
机器数:把“+”、“-”符号代码化,并保存在计算机中的数据。
真值:是指机器数所真正表示的数值,用数值并冠以“+”、“-”符号的方法来表示。
机器数的编码方法:原码、反码、补码、移码。
2、小数点的表示方法
在机器数中,小数点及其位置是隐含规定的;
有两种隐含方式:
定点数:小数点的位置是固定不变的
浮点数:小数点的位置是浮动的
定点机器数分为定点小数、定点整数两种。
浮点机器数中小数点的位置由阶码规定,因此是浮动的。
定点机器数的小数点的位置是固定不变的,可以分为两种:
定点小数:用于表示纯小数,小数点隐含固定在最高数据位的左边,整数位则用于表示符号位。
定点整数:用于表示纯整数,小数点位置隐含固定在最低位之后,最高位为符号位。
1、原码表示法
2、补码表示法
3、反码表示法
4、移码表示法
5、定点机器数转换
一.原码表示法
(1)表示方法:最高位表示数的符号,其他位表示数值位。
符号位:0-正数,1-负数;
数值位:与绝对值相同。
对于定点数值:
若X=+X1X2……Xn,则[X]原= 0,X1X2……Xn ;
若X=- X1X2……Xn ,则[X]原= 1,X1X2……Xn 。
对于定点小数:
若X=+0. X1X2……Xn ,则[X]原= 0.X1X2……Xn ;
若X=- 0.X1X2……Xn ,则[X]原= 1.X1X2……Xn 。
eg:
X=1011,Y=-0.1101,求X和Y的8位原码机器数。
[X]原=0.0001011;[Y]原=1.1101000(“,”和“.”只用于助记,在计算机中并无专用部件来表示)
(2)0的表示:0的原码有两种形式,分别按照正数和负数表示。
[+0]原=00...0 [-0]原=10...0
(3)表示范围:对于n+1位原码机器数X,(包括1位符号位,n位数值位)它能所表示的数据范围:
定点整数:-(2^n-1)<=X<=2^n-1
定点小数:-(1-2^-n)<=X<=1-2^-n