浮点表示法的介绍
1. 要将浮点数转换为十进制,我们有 32 位浮点表示中的 3 个元素:
i) 签署
ii) 指数
iii) 尾数
- 符号位是二进制表示的第一位。 “1”表示负数,“0”表示正数。
示例: 11000001110100000000000000000000 这是负数。 - 指数由接下来的 8 位二进制表示决定。 127 是 32 位浮点表示的唯一编号。它被称为偏见。它由 2 k-1 -1 确定,其中“k”是指数字段中的位数。
8 位表示有 3 个指数位,32 位表示有 8 个指数位。
因此
8 位转换的偏差 = 3 (2 3-1 -1 = 4-1 = 3)
对于 32 位转换,偏差 = 127。 (2 8-1 -1 = 128-1 = 127)示例: 01000001110100000000000000000000
10000011 = (131) 10
131-127 = 4因此 2 的指数将是 4 即 2 4 = 16。
- 尾数是根据二进制表示的剩余 23 位计算得出的。它由“1”和一个小数部分组成,由以下内容确定:
例子:
010000011101000000000000000000000
尾数的小数部分由下式给出:
1*(1/2) + 0*(1/4) + 1*(1/8) + 0*(1/16) +………… = 0.625
因此尾数将为 1 + 0.625 = 1.625
因此给出的十进制数为:符号*指数*尾数 = (-1) 0 *(16)*(1.625) = 26
2. 要将十进制转换为浮点,我们在 32 位浮点表示中有 3 个元素:
i) 标志 (MSB)
ii) 指数(MSB 后 8 位)
iii) 尾数(剩余 23 位)
- 符号位是二进制表示的第一位。 “1”表示负数,“0”表示正数。
示例:将 -17 转换为 32 位浮点表示 符号位 = 1 - 指数由最接近的小于或等于 2 n的数决定。对于 17,16 是最接近的 2 n 。因此 2 的指数将是 4,因为 2 4 = 16。127 是 32 位浮点表示的唯一数字。它被称为偏见。它由 2 k-1 -1 确定,其中“k”是指数字段中的位数。
因此,对于 32 位,偏差 = 127。 (2 8-1 -1 = 128-1 = 127)
现在,127 + 4 = 131 即二进制表示的 10000011。
- 尾数:二进制中的 17 = 10001。
移动二进制点,使左边只有一位。调整 2 的指数,使值不变。这是规范数字。 1.0001 x 2 4 。现在,考虑小数部分并通过添加零表示为 23 位。
000100000000000000000000
相关链接:
https://www.youtube.com/watch?v=03fhijH6e2w
有关数字表示的更多问题:
https://www.geeksforgeeks.org/number-representation-gq/