シフト演算・数値データ

2016年度
プログラミングⅠ
~ シフト演算・数値データ ~
担当教員: 幸山 直人
2016年度 プログラミングⅠ
数値データに関する注意事項(1)

イクセス表現を用いると数値の絶対的な大きさを瞬
時に判別できる(大小判別、加算、減算に有利)。
符号部
仮数の符号にも注意
指数部
仮数部
仮数部で表現可能な数は
高々1~1.999・・・である
指数部はイクセス表現されているので大小関係が保持されている
(符号部に注意し、指数部が同じときだけ仮数部を比較すればよい)
2016年度 プログラミングⅠ
数値データに関する注意事項(2)

指数部の最上位ビットに注目すると
符号部
指数部の
最上位ビット
1(ー)
1(+)
-1
0(+)
0(ー)
0
0(ー)
1
1(+)
2016年度 プログラミングⅠ
数値データに関する注意事項(3)


固定小数点表示による四則演算の誤差の評価は容
易である(主にオーバーフローとアンダーフローが起
きる;除算では、商の小数点以下の値が誤差となる)。
解決するには浮動小数点表示を用いれば良い。
浮動小数点表示による四則演算の誤差の評価はか
なり難しい(一歩間違えると非常に大きな誤差を生じ
たり、意図しない値が結果として表示される)。プログ
ラミングでは、これらを回避するために様々な手法が
取り入れられる(人が手で計算するのとは勝手が違
う)*詳細についてはプログラミングⅡの授業で扱う