阶码

编辑:跌跤网互动百科 时间:2020-01-18 08:01:42
编辑 锁定
在机器中表示一个浮点数时需要给出指数,这个指数用整数形式表示,这个整数叫做阶码,阶码指明了小数点在数据中的位置。
中文名
阶码
外文名
exponent 

阶码简介

阶码:对于任意一个二进制数N,可用N=S×2P表示,其中S为尾数,P为阶码,2为阶码的底,P、S都用二进制数表示,S表示N的全部有效数字,P指明小数点的位置。当阶码为固定值时,数的这种表示法称为定点表示,这样的数称为“定点数”;当阶码为可变时,数的这种表示法称为浮点表示,这样的数称为“浮点数”,这在前面已有介绍。

阶码定点数表示法

通常定点数有两种表示法,均设P=0,小数点是隐含的,若数值部分为n位:
当S为纯整数时,此时定点数只能表示整数,所能表示的N范围是(2n-1)≥N≥-(2n-1);当S为纯小数时,此时定点数只能表示小数,所能表示的N范围是(1-2-n)≥N≥-(1-2-n)。
实际数值不一定都是纯整数或纯小数,运算前可选择比例因子,使所有原始数据化成纯小数或纯整数,运算后再用比例因子恢复成实际值。

阶码BCD码

阶码总述

通常,我们习惯用十进制数表示数据,但计算机是用二进制数来表示数据的,这就需要进行数值进制之间的转换。我们把每位十进制数转换二进制数的编码,简称为BCD码(BinaryCodedDecimal)。BCD编码具有二进制数的形式以满足数字系统的要求,又具有十进制数的特点。在某些情况下,计算机也可以对这种形式的数直接进行运算。
它是一种数字压缩存储编码,一个字节有8位,而数字0到9最多只需要使用4位,如果用一个字节来存储一个数字相对就会有一定的浪费,尤其是在传输过程中,由此人们就想出了压缩的办法,就是BCD编码。
BCD编码将一个字节的8位拆分成高4位和低4位两个部分,也就是说一个字节能存储两个数字。所以BCD的编码过程就是将数字压缩的过程,将两个字节的数字压缩成一个字节。反之,解码就是把一个字节的数字拆分为两个数字单独存放(大部分的处理都是按字节处理的)。

阶码编码方法

8421BCD编码
这是一种使用最广的BCD码,是一种有权码,其各位的权分别是(从最有效高位开始到最低有效位)8、4、2、1(即23、22、21、20),因而称为“8421BCD编码”。
8421BCD编码列表 8421BCD编码列表
在使用8421BCD码时一定要注意其有效的编码仅十个,即:0000~1001。4位二进制数的其余6个编码1010、1011、1100、1101、1110、1111不是有效编码。8421BCD编码如表2-3所示。这种BCD编码实际上就是0~9的“等值”二进制数
2421BCD编码
2421BCD码也是一种有权码,其从高位到低位的权分别为2、4、2、1(同样也是它得名的原因),其也可以用4位二进制数来表示1位十进制数
余3码
余3码也是一种BCD码,但它是无权码。但由于每一个码对应的8421BCD码之间相差3,故称为余3码,其一般使用较少,故只须作一般性了解。
用BCD码进行进制的转换时,要求在两种进制的表现形式上快速转换,而不是要求在“数值相等”的含义快速转换。
例如求十进制数2000的BCD编码和其二进制数
2000的BCD编码是把每位上的数2、0、0、0分别转换为其对应的BCD编码:0010、0000、0000和0000,把它们合在一起就是2000的BCD编码:0010000000000000。
十进制数2000的二进制数是:11111010000,它们在数值上是相等的。
十进制数86.5转换为BCD码,最终的结果是:(10000110.0101)BCD。
BCD码10010111.0100转换为十进制数的结果是:97.4。
在IBMPC机中,根据在存储器中的不同存放格式,BCD码又分为:
压缩型BCD码:一个字节中存放两个十进制数码。
非压缩型BCD码:每个字节只存放一个十进制数
例如:将十进制数8762用压缩型BCD码表示,则为:1000011101100010。

阶码移码

表示浮点数时还常用一种称为移码的码制。浮点数的阶码表示指数大小,有正有负,为避开阶码的符号,对每个阶码都加上一个正的常数(称偏移常数),使能表示的所有阶码都为正整数,变成“偏移”了的阶码,又称“增码”。移码的值不小于0,这样阶码总为0,可以取消,浮点数小数点的实际位置由移码减去偏移常数来决定。
一个实数可表示成一个纯小数与一个乘幂之积。如[1]  ;-0.0010011=-0.10011×2^-10(10在这里也是二进制);-110001101=-0.110001101×2^1001(1001同样为二进制)。
一个任意实数,在计算机内部可以用指数(为整数)和尾数(为纯小数)来表示,用指数和尾数表示实数的方法称为浮点表示法。
浮点数的长度可以是32位、64位甚至更长,分阶码和尾数两部分。阶码位数越多,可表示的数的范围越大;尾数越多,所表示的数的精度越高。“移码”用来表示浮点型小数的阶码。对于正数,符号位为“1”,其余位不变,如+1110001的阶码为11110001;对于负数,符号位为“0”,其余位取反,最后加“1”,如–1110001的阶码为00001111。
移码补码的关系是符号位互为反码,例如:X=+1011时,[X]移=11011,[X]补=01011;X=–1011时,[X]移=00101,[X]补=10101。
注意:对移码运算的结果需要加以修正,修正量为2n,即对结果的符号位取反后才是移码形式的正确结果。移码表示中,0有唯一的编码——1000…00,当出现000…00时(表示–2n),属于浮点数下溢。
参考资料
词条标签:
中国通信学会 理学