X=-6.25,Y=9.625 (1)、将X、Y分别转换成二进制浮点数(阶码和尾数均用补码表示,其中阶码占4位,尾数占8位,各包含一位符号位)。 (2)、用变形补码,求X-Y=?(舍入采用恒舍法,结果用二进制和十进制两种方法表示。)
时间: 2024-05-27 09:08:18 浏览: 126
易语言十进制浮点数转换到二进制源码.rar
(1) 首先将X转换为二进制浮点数:
X的符号位为1(因为X为负数),先转换整数部分6,其二进制为110,因为X为负数,需要将整数部分取反加一,即001+1=010,所以X的整数部分为110。
接下来转换小数部分0.25,乘2后得到0.5,整数部分为0,乘2后得到1,整数部分为1,乘2后得到0,整数部分为0,以此类推得到二进制小数部分:01000000。
因为X为负数,所以X的二进制浮点数为:
1 1110 1000 0100 0000
接下来将Y转换为二进制浮点数:
Y的符号位为0(因为Y为正数),先转换整数部分9,其二进制为1001,因为Y为正数,整数部分不需要转换,直接得到1001。
接下来转换小数部分0.625,乘2后得到1.25,整数部分为1,乘2后得到0.5,整数部分为0,乘2后得到1,整数部分为1,乘2后得到0,整数部分为0,以此类推得到二进制小数部分:10111100。
因为Y为正数,所以Y的二进制浮点数为:
0 0110 1001 0111 1100
(2) X-Y的二进制补码为X的原码减去Y的原码,即:
1 1110 1000 0100 0000 - 0 0110 1001 0111 1100
= 1 1000 1110 1100 0100
因为计算结果为负数,需要将其转换为变形补码。因为是4位阶码和8位尾数,所以阶码需要加上0111才能转换为变形补码,得到:
0100 1110 1100 0100
这是X-Y的变形补码。根据恒舍法舍入,保留8位尾数,舍去第9位,得到:
0100 1110 1100 0000
这是X-Y的二进制补码。
将其转换为十进制,首先确定符号位,因为第一位为1,所以X-Y为负数,转换为十进制时需要先将补码转换为原码,即将所有位取反加一,得到:
1011 0001 0100 0000
这是X-Y的原码,将其转换为十进制,得到:
-11.25
阅读全文