将-21/256 写成 2 进制定点数.浮点数以及在定点机和浮点机中得机器数形式.设浮点数字长 16 位.其中阶码 5 位.尾数 11 位
时间: 2024-06-05 16:10:09 浏览: 18
首先,将-21/256 转化为二进制小数:
-21/256 = -(16/256 + 4/256 + 1/256) = -0.00010101
接下来,将其表示为定点数。假设使用 8 位来表示小数部分,则有:
-21/256 的二进制定点数为:1 10010101
对于浮点数,需要将其表示为科学计数法的形式,即
-0.00010101 = -1.0101 x 2^-7
其中,阶码为 -7,因为小数点左移了 7 位。将其表示为 16 位的浮点数,阶码占 5 位,尾数占 11 位,符号位占 1 位,因此可以表示为:
1 10001 01010 0000
其中,第一位为符号位,1 表示负数;接下来的 5 位为阶码,10001 表示 -7 的补码;最后的 11 位为尾数,即 01010000000。
在定点机中的机器数形式为 110010101(因为定点数使用了 1 个符号位和 8 位定点数)。
在浮点机中的机器数形式为 1100010101000000(因为浮点数使用了 1 个符号位、5 位阶码和 11 位尾数)。
相关问题
将十进制数+13/128写成二进制浮点数和浮点数
首先,将十进制数+13/128转换为二进制数:
0.10110101
接下来,将其转换为浮点数规格化表示。以单精度浮点数(32位)为例,其规格化表示通常为:1位符号位 + 8位指数位 + 23位尾数位。其中,指数位使用偏移量表示法,即用真实指数值加上一个偏移量来表示指数,偏移量为127。尾数位的最高位一定为1,因此可以省略掉这个1,获得更高的精度。
因为0.10110101是小于1的数,所以可以通过不断乘2并取整数部分的方式将其转换为规格化表示。具体步骤如下:
- 乘2,得到1.0110101,记录指数位为-1。
- 去掉整数部分的1,得到0.0110101。
- 乘2,得到1.10101,记录指数位为-2。
- 去掉整数部分的1,得到0.10101。
- 乘2,得到1.0101,记录指数位为-3。
- 去掉整数部分的1,得到0.0101。
- 乘2,得到1.101,记录指数位为-4。
- 去掉整数部分的1,得到0.101。
- 乘2,得到1.010,记录指数位为-5。
- 去掉整数部分的1,得到0.010。
- 乘2,得到1.100,记录指数位为-6。
- 去掉整数部分的1,得到0.100。
- 乘2,得到1.000,记录指数位为-7。
- 去掉整数部分的1,得到0.000。
- 尾数位补0,直到长度为23位,得到10101100000000000000000。
因为小数部分的长度为7位,需要在指数位中加上偏移量127,并将指数位转换为8位的二进制数。偏移量加上-7等于120,转换为二进制数为01111000。
综上所述,将十进制数+13/128写成二进制浮点数为0 01111000 10101100000000000000000,对应的十六进制表示为0x3D580000,对应的十进制表示为0.828125。
-29/256的规格化浮点数的表示形式
-29/256的规格化浮点数的表示形式取决于所采用的浮点数标准。下面以IEEE 754标准为例。
首先,将-29/256转化为二进制数,得到-0.00011101。
然后,根据IEEE 754标准,规格化浮点数的表示形式为:
符号位 | 阶码 | 尾数
------|------|------
1 | 100 | 11101000
其中,符号位为1表示负数;阶码为100表示指数值为4(因为IEEE 754标准中规定,阶码需要加上一个偏置值,对于单精度浮点数,偏置值为127);尾数为11101000表示有效数字为1.11101000。
因此,-29/256的规格化浮点数的表示形式为:
1 100 11101000