|
简要分析:
(1) float型变量在计算机中都被表示成IEEE754单精度格式。
x=-68= -100 01002 = - 1. 0001x26
符号位为1,阶码为 127+6 = 128 + 5 = 1000 01012
尾数为1.0001,所以小数部分为:000 1000 0000 0000 0000 0000
合起来整个浮点数表示为:1 1000 0101 000 1000 0000 0000 0000 0000
写成十六进制为:C2880000H
y=-8.25= - 1000.012 = - 1. 00001x23
符号位为1,阶码为 127+3 = 128 + 2 = 1000 00102
尾数为1.00001,所以小数部分为:000 0100 0000 0000 0000 0000
合起来整个浮点数表示为:1 1000 0010 000 0100 0000 0000 0000 0000
写成十六进制为:C1040000H
(2) 两个浮点数相加的步骤
对阶:Ex=1000 0101 Ey=1000 0010
[Ex-Ey]补 =[Ex] 补+ [-Ey]补 =1000 0101+ 0111 1110=0000 0011
Ex 大于Ey,所以对y进行对阶。对阶后,y= - 0.00100001x26
尾数相加:x的尾数为:-1. 000 1000 0000 0000 0000 0000
y的尾数为:-0. 001 0000 1000 0000 0000 0000
用原码加法运算实现,两数符号相同,做加法,结果为:
-1.001 1000 1000 0000 0000 0000
x加y的结果为: -1.001 1000 1 x 26,所以:
符号位为1,尾数为:001 1000 1000 0000 0000 0000
阶码为127+6=128+5,即:1000 0101
合起来为:1 1000 0101 001 1000 1000 0000 0000 0000
转换为十六进制形式为:C2988000H
(3) 两个浮点数相减的步骤同加法,对阶的结果也一样,只是尾数相减。
尾数相减:x的尾数为:-1. 000 1000 0000 0000 0000 0000
y的尾数为:-0. 001 0000 1000 0000 0000 0000
用原码减法运算实现,两数符号相同,做减法:
符号位:取大数的符号,负数,所以为1
数值部分:大数加小数负数的补码
1. 000 1000 0000 0000 0000 0000
+)1. 110 1111 1000 0000 0000 0000
0. 111 0111 1000 0000 0000 0000
x减y的结果为: -0.111 0111 1x 26= -1.1101111x 25,所以:
符号位为1,尾数为: 110 1111 0000 0000 0000 0000
阶码为127+5=128+4,即:1000 0100
合起来为:1 1000 0100 110 1111 0000 0000 0000 0000
转换为十六进制形式为:C26F0000H。
|