第二章运算方法与运算器(浮点数的加减法,IEEE754标准3264浮点规格化数...
第⼆章运算⽅法与运算器(浮点数的加减法,IEEE754标准3264浮点规格化数)
这⼀章,主要介绍了好多种计算⽅法。下⾯,写⼀点⾃⼰对于有些计算(⼿写计算过程)的见解。
1.原码、反码、补码
  原码:相信⼤家都会写,符号位在前⼆进制数值在后,凑够位数即可。
  反码:原码符号位不变,其他位全部取反。
  补码:反码末位加⼀ / 原码符号位不变,从右往左数第⼀个1及其右边的各位不变,其余位全部取反
2.IEEE754的转换
  IEEE754标准32/64浮点规格化数形式:X = (-1)S * 1.M * 2E-127(其中,S-阶符,M-尾数,E-阶码)
    32位的规格化浮点数:(即⼆进制SEM后⾯补0,写够32位)
  以27/64为例:
    ①化形式:27/64 = + (1.1011)2 * 2-2
    ②SEM:S=0,M=1011,E=(125)10=(01111101)2
    ③写结果:00111110 11011000 00000000 00000000 = (3ED800)16
3.变形补码计算加减法
  变形补码没什么稀奇,不过是符号位变成两位⽽已(00为正,11为负),它的价值在于可以作溢出判断(结果00//11表⽰未溢出,01-上溢(所谓上溢符号位还是0),11-下溢(下溢符号位还是1)),就正常求补码(符号位double),放在⼀起加和,做溢出判断,最后别忘了把补码再转换回原码作为最终结果。
  x+y:
   以x=11011, y=00011为例:
    ①求补:[11011]补=0011011, [00011]补=0000011
    ②加和:011011 + 000011 = 0011110;符号位00,未溢出,故x+y=11110
  x-y:(这⾥把减法化为加法,即 x-y = x+(-y),另外[-y]补 = [y]补 从右往左数第⼀个1及其右边的各位不变,其余位全部取反,这次连带符号位也要取反)
   以x=11011, y=-11111为例:
    ①求补:[11011]补=0011011, [-11111]补=1100001,[-y]补=0011111
    ②加和:[x]补+[-y]补 = 0011011 + 0011111 = 0111010;符号位01,正溢(上溢);故x-y=+111010
4.浮点数加减法(我⽤的是补码计算)
  这⾥⾯涉及的东西⽐较多,每⼀步都需要仔细,错⼀步结果就错了。
  ①求补对阶
  ②尾数求和
  ③规格化加减符号
  ④舍⼊处理
  ⑤溢出判断
  ⑥写结果
例⼦后⾯给

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。