计算机组成原理之浮点数的表示和运算

浮点数的表示

浮点数的表示通常遵循类似科学计数法的规则,可以表示为N = ±M × r^E,其中:
1、N是浮点数。
2、±表示符号位,用来表示浮点数的正负。
3、M是尾数(有效数字),是一个纯小数,其绝对值在1到r之间(不包括r),其中r是基数(通常是2)。在计算机中,尾数通常用原码或补码表示,并且为了节省存储空间和提高精度,尾数部分通常会隐含一个最高有效位(例如,对于IEEE 754标准,这个隐含位是1)。
4、E是阶码(指数),是一个整数,用来表示小数点相对于尾数最高有效位(包括隐含位)的偏移量。阶码通常用补码或移码表示,以便于比较和运算。

IEEE 754标准

IEEE 754标准是目前广泛使用的浮点数表示标准,它规定了浮点数的格式、精度、舍入规则等。根据IEEE 754标准,常用的浮点数有两种格式:

1、单精度浮点数(Single-precision floating-point format):使用32位表示,其中1位符号位,8位阶码(偏置值为127),23位尾数(隐含最高位1)。

2、双精度浮点数(Double-precision floating-point format):使用64位表示,其中1位符号位,11位阶码(偏置值为1023),52位尾数(隐含最高位1)。

浮点数的运算

浮点数的运算包括加法、减法、乘法和除法。由于浮点数的表示方式,其运算过程相对复杂,通常遵循以下步骤:

1、对阶:在浮点数的加减运算中,首先需要将对阶码较小的数进行尾数右移(即乘以较小的2的幂次),并相应地调整阶码,使得两个操作数的阶码相同。对于乘法和除法运算,阶码可以直接进行加法和减法运算。

2、尾数运算:对阶后,对两个操作数的尾数进行加、减、乘或除运算。

3、规格化:运算后的尾数可能不再满足规格化的要求(即尾数的最高有效位可能不是1),因此需要进行规格化处理。规格化过程通常包括尾数的左移或右移以及阶码的相应调整。

4、舍入:由于浮点数的表示位数有限,运算结果可能需要进行舍入处理,以符合浮点数的表示格式。IEEE 754标准规定了多种舍入规则,如就近舍入、向零舍入等。

5、溢出处理:在浮点数的运算过程中,如果结果超出了浮点数的表示范围,则会发生溢出。溢出处理通常包括设置溢出标志、将结果表示为特殊值(如无穷大、非数值NaN)等。

浮点数的特点

浮点数具有以下特点:

1、表示范围大:相比于同长度的定点数,浮点数能够表示更大范围的数值。

2、精度有限:由于浮点数的表示位数有限,因此其精度也是有限的。对于非常接近的数值,浮点数可能无法准确区分。

3、运算速度慢:浮点数的运算相对于定点数来说要复杂得多,因此其运算速度通常较慢。

4、存在误差:由于浮点数的表示和运算都涉及到舍入处理,因此其运算结果可能存在误差。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DKPT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值