[深入理解计算机系统] 计算机中的信息表示

本文深入探讨了计算机数据表示中的定点数与浮点数,详细解释了定点数的概念及其符号位作用,补码、反码与原码的转换方法,以及移码的原理。接着,介绍了浮点数的表示方式,包括科学计数法和IEEE标准754,特别是标准中关于浮点数的编码规则和位数分配,通过实例展示了如何将十进制数转换为IEEE标准754格式的浮点数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 计算机不直接表示小数点,为了简化设计与制造,默认小数点位于数值的前部或者后部。这样的数据称为定点数,小数点被默认位于数值前部的叫顶点小数,被默认位于数值后部的叫定点整数。一般的计算机只选择实现一种定点数。

 在定点数表示格式中,最高位被当做符号位。也就是说,定点数的最高位为0,表示它是正数;为1,表示它是负数。

 补码转换方法:正数的补码就是它的原码;负数的补码就是将其原码,除符号位外,每位取反(即0变成1,1变成0),然后在最低位加1而得。(The Least Sianificant Bit)

 对于正数,反码就是与原码和补码相同,直接在二进制数值前面加上符号位“0”即可。对于负数,反码就是将负号“-”替换成“1”,然后将二进制数值逐位取反而得到。

 如果我们给每一个二进制整数的真值加上一个常数2^n(n为二进制真值的位数),使得正数的最高位变成“1”,负数的最高位变成“0”,那么,机器比较得到的两个数之间的相对大小就是其真实的相对大小。这样得到的编码称为“移码(Bias)”。

例:求下列真值的原码,反码和补码

+1110B

原码:0,1110B;反码:0,1110B;补码:0,1110B

-1110B

原码:1,1110B;反码:1,0001B;补码:1,0010B

+0.0001000B

原码:0.0001000B;反码:0.0001000B;补码:0.0001000B

-0.0001000B

原码:1.0001000B;反码:1.1110111B;补码:1.1111000B

 计算机能够直接处理的数只能是定点数,要么是定点小数,要么是定点整数。如何用定点数来表示小数点位置“浮动的”实际数据——浮点数?解决这个问题可以转化为科学计数法。

  采用科学计数法,浮点数N将被表示成N=M*R^E。式中,M称为尾数,是一个带小数点的实数;R称为基值,是一个常整数;E称为阶码,是一个整数。

  浮点数表示的工业标准——IEEE标准754

  在IEEE标准754中,浮点数的最高位为尾数符号位S,次高位字段为以移码表示的阶码E,低位字段为尾数F(F=b0b1b2~bp-1)其中P为尾数的位数,基值为2。

1985年发布的标准有以下4种格式的浮点数:

(1)基本的单精度格式(也称短实数):E占8位,F占23位,共32位;

(2)基本的双精度格式(也称长实数):E占11位,F占52位,共64位;

(3)扩充的单精度格式:E>=11位,F>=31位;

(4)扩充的双精度格式:E>=15位,F>=63位;

  目前,在计算机上广泛采用的是基本的单精度与双精度格式。单精度格式的阶码E的表数范围在1~254之间(偏移127),对应的实际阶码值在-126~+127之间。双精度格式的阶码的表数范围在1~2046(偏移1023),对应的实际阶码值在-1022~+1023之间。

  IEEE标准754规定:规格化尾数在小数点前还有一位隐含的“1”。

   其好处在于尾数的有效数字增加一位,即对于基本的单精度与双精度格式,它们尾数的有效数字分别是24位和53位。因此,绝对值最小的规格化数分别为±2^(-126)和±2^(-1022)(对应E=1,F=0),绝对值最大的规格化数分别为±(2-2^(-23))*2^127和

±(2-2^(-52))*2^1023。

例:将十进制数-53/512按照IEEE标准754分别表示成短实数与长实数。

-53/512=-0.000110101B

-0.000110101B=(-1.10101)*2^(-100B)

数符位S为1,阶码E十进制为-4+127=123,转换为二进制为01111011B

尾数后位补0

=1,011  1101  1,101  0100  0000  0000  0000  0000

=BDD40000H

//长实数可自行推导

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值