【問題】
次の浮動小数点表示法がある。小数点は仮数部の左にあり,指数は64の”下駄(げた)履き表現”であって、値は(-1)^S×0.f×2^e-64である。二つの16進数45BF0000と41300000を、この浮動小数点表示法で表現された値として加算した結果はどれか。
0~23ビット:仮数部
24~30ビット:指数部
31ビット:符号
【解答】
45BF0000を2進数に直すと、0100┃0101┃1011┃1111になり、
41300000を2進数に直すと、0100┃0001┃0011┃0000になる。
Sは31ビット目の符号なので、両方とも0になる。
指数部は45…は1000101、41…は1000001になり、それぞれ64を引くと、45…は101=5、41…は001=1になるから、それぞれの値は
0.10111111×25と、0.00110000×21になる。
さらに、これを小数点を計算すると、5乗であれば5ビット右シフト、1乗であれば1ビット右シフトであるから、
10111.111と、0.0110000になる。
これの加算をするから、
10111.111
+ 0.0110000
━━━━━━━━━━━━━━━━━
11000.010 となる。
この結果を、さらに浮動小数点の表し方に直すと、
0.11000010×25
となり、S=0、f=11000010、e=69であることが分かる。
さらに、これを2進数に直すと、
0┃1000101┃11000010…0
となる。
さらに、これを4桁ずつの2進数に直すと、
0100┃0101┃1100┃0010┃0000┃…┃0000
となるから、これを10進数に直して、
45C20000となる。