定点小数的运算
浮点运算前需要掌握:定点小数的运算
真值→原码
1.若小数为正,则其原码等于小数本身;
如:x=0.01111,[x]原=0.01111;
2.若小数为负,则去掉小数前的“-”,将小数点前的0变为1,就可以得到小数的原码。
如:y=-0.10111,[y]原=1.10111。
原码→补码
1.若为正数,则[x]补=[x]原;
如:x=0.01111,[x]原=0.01111,[x]补=0.01111;
2.若小数为负,在真值转化为原码的基础上,将小数点后数按位取反,末位加上1。
如:y=-0.10111,[y]原=1.10111,[y]补=1.01001
定点小数的加法运算
[x+y]补=[x]补+[y]补
[x-y]补=[x]补+[-y]补
如:求x+y,则
异或运算的规则:
1 ⊕ 1 = 0
0 ⊕ 0 = 0
1 ⊕ 0 = 1
0 ⊕ 1 = 1
得:[x+y]补=1.11000
补码→原码
小数点前为1,表示负小数的补码。步骤1:将补码转化为原码,小数点前的符号位不变,小数点后的数按位取反,末尾加1,[x+y]原=1.01000。步骤2:将原码转化为真值,即将小数点前的1变为0,再在小数前加上“-”,x+y=-0.01000
故:x+y=-0.01000