浮点数在浮点机中机器数的表示形式

例6.6 设浮点数的字长为16位,其中阶码为5位(含1位阶符),尾数为11位(含1位数符),写出 − 53 512 -\frac{53}{512} 51253对应的浮点规格化数的原码,补码,反码,和阶码用移码,尾码用补码的形式。
解析:
x= − 53 512 -\frac{53}{512} 51253= − ( 110101 ) B ( 100000000 ) B -\frac{(110101)_B}{(100000000)_B} (100000000)B(110101)B=–0.000110101
=(–0.1101010000)x 2 − 11 2^{-11} 211(-11表示二进制,即(-3) D _D D)

  通常浮点数被表示成:N=Sx r j r^j rjS为尾数,可正可负。r为基数(或基值),j为阶码
  在计算机中规定尾数用纯小数形式,故不能表示为(–1.101010000)x 2 − 100 2^{-100} 2100或(–11.01010000)x 2 − 101 2^{-101} 2101等形式。
  此外,将尾数最高位为1的浮点数成为规格化数,x=(–0.1101010000)x 2 − 11 2^{-11} 211即为浮点数的规格化形式。
浮点数在浮点机中机器数的表示形式_第1张图片(ps:图太难画了,拍张照偷偷懒吧。。。)
  浮点数由阶码j和尾数S两部分组成,阶码是整数,阶符和阶码的位数m合起来反应浮点数的表示范围及小数点的实际位置尾数是小数,其位数n反映了浮点数的精度;数符S f _f f代表浮点数的正负。(加粗那句有点难理解,多做几道题就懂了,大佬请忽略这段话。)

求得的x的原码、反码、补码、阶移尾补分别为:
    [ x ] 原 [x]_原 [x]=1, 0011; 1. 1101010000
    [ x ] 补 [x]_补 [x]=1, 1101; 1. 0010110000
    [ x ] 反 [x]_反 [x]=1, 1100; 1. 0010101111
[ x ] 阶 移 , 尾 补 [x]_{阶移,尾补} [x]=1, 0011; 1. 1101010000
  (注:为了书写方便和区分小数和整数,约定整数的符号位与数值位之间用逗号“, ”分隔;小数的符号位和数值位之间用小数点“. ”分隔
  反码:数值位逐位取反
  补码:数值为逐位取反再+1
  移码:符号位取反的补码

本篇为学习笔记
参考:计算机组成原理(第二版)—唐朔飞

你可能感兴趣的:(计算机组成)