| |
|
![]() |
浮動小数点
基本的には符号部、指数部、仮数部の3フレーズで表現

ここで
符号S +正の数(省略できる)、−負の数
仮数A 適当でいいが一定のルールはある。
基数B 指数表現の底(てい)にあたり、10進数では B = 10。
指数E 整数
BE を合わせて指数部
1.25×109 と書いたり 、
�� 始めから0が8個連続する10進小数 −0.0000000125 を
−1.25×10-8 と表現することがあります。
このように、±
型の表示を浮動
(ふどう)小数点といいます。
特に �� のように絶対値(注1ぜったいち)が非常に大きな数や、�� のように非常に小さな数に対して効果的な(分かりやすい)表現です。

は2進数の浮動小数点として
OKか?
の型を2進数に応用してみよう。10 1000 を2進数とするとき、
10 1000 = 1. 01 × 25
で浮動小数点はよろしいか。
残念だが駄目(×)です。
しかし、右辺は、0 , 1 以外の数 2 , 5 を用いており、2進表記とは言えない。では、2→10(2) , 5→101(2) より、
1.01×10 101 と変えれば解決するのであろうか。 否(no)である。大体、2進の負の数には補数を用い、マイナス符号(−)は用いないのです。
2進数の浮動小数点(その1)
情報処理試験出題方式(勝手に名付けました?!)
過去の情報処理試験に出てくる2進数の浮動小数点に関する問題には、
コンピュータに用いているIEEE方式とは異なる浮動小数点のルールを何年も続けて使用しています。この表現方法を見ましょう。
直接に平成18年出題の問題から取り上げます。
<<問題>> 数値を図に示す16ビットの浮動小数点形式で表すとき,10進数0.25を正規化した表現はどれか。ここでの正規化は,
仮数部の最上位けたが0にならないように指数部と仮数部を調節する操作とする。

10進数などの浮動小数点の表現

と語句の対応は同じですから参考にします。
符号部S 、基数2(決まっているからビット列中に書かない) および ビット列(BOX)の配列順序(じゅんばん)は IEEE方式 も同じです。大きな違いは 指数部で負数を2の補数で表すところでしょう。正規化は仮数部が始めから0がダラダラ連続(^○^)することがないように有効ケタを増やす操作です。IEEE方式も独自の正規化を行っています。
<<解答>>説明です。
10進 0.25 は 2進数で 0. 01。これを
正規化すると 0. 1×2 -1(等式として)。
指数部eの4ビットは -1を2の補数表現で、0001→ (反転)1110 →(1をたす) 1111。
仮数部 f 11ビットは 100 0000 0000。
符号部1ビットは正の数でS=0。
従って
0 / 1111 / 100 0000 0000 (答ウ)。
2進数の浮動小数点(その2←主流です)
IEEE754方式
現在のコンピュータ(パソコン)は殆どがIEEE754規格(きかく)の演算装置(けいさんするところ)を持っています。 まさに浮動小数点の主流の座にあります。まあ知らなくても特に不都合というわけでもありません。 ここではその中の単精度(たんせいど)形式(注2) の浮動小数点について述べましょう。

正規化 仮数を1以上2未満(みまん)とする。
仮数 整数部分の1は省略する。
指数 127をたす(ゲタをはかす)。
符号 正数⇒0 負数⇒1
<<例>> 10進の 0. 625 を単精度形式の浮動小数点で表わすと次のようになる。
0/0111 1110/010
0000 0000 0000 0000 0000
10進数などの浮動小数点の表現
と語句の対応は同じですから参考にします。
基数は常に2なので、特に記さない。
指数、仮数は2進表記とする。
ゲタの 127は2進で、0111 1111
あるいは
2 7 −1= 1000 0000 − 1 と見れば納得(よい)でしょう。
例について
0. 625は2進で0. 101。正規化 により
1. 01×2 -1。
指数部は −1+127 = 126 → 0111 1110 。
仮数部は 1を捨て、小数部分 010 。
以下0 で埋め23 ビットとする。符号部 0 。
問題
(1)情報処理試験出題方式(自称)による浮動小数点です。次の表現は10進数でそれぞれ幾らですか。
上の説明の具体例の答え群の中の、不正解の3個を取り出しています。 参考にして下さい。
答えは次のページです。

(2)IEEE方式による浮動小数点です。次の10進数をIEEE方式による2進数の浮動小数点で表示して下さい。
単精度形式です。
� �5.75 �◆�- 80
注1数の絶対値とは
、その数から符号を取り去ったもの。たとえば +5 の絶対値、 − 5 の絶対値は いずれも 5 である。数学の教科書などには A
の絶対値を記号|A|で表し、A≧0のとき|A|=A 、A<0のとき|A|=−A。 などの説明があるが、たいへん難しいと思います。
注2 32ビット列で表す単精度形式の他に、IEEE方式では64ビット列で表す
倍精度(ばいせいど)形式という浮動小数点も用意されている。
相違点(ちがうこと)は、� ”箙翩� 1ビット、指数部 11ビット、仮数部 52ビットの合わせて
64ビットで表示する。 �◆〇愎�部のゲタはきは 1023をたす。 の2点です。ゲタ 1023 は2進の 11 1111 1111
または 210
−1 = 100 0000 0000 ー1 と考えれば納得ですか。
前回の答え
NOT回路は1→0、 0→1 と反転します。SW-AがON (1)のとき、NOT回路を奇数個を通るとOFF(0)、偶数個を通るとON(1) です。従って6個(偶数個)のNOT回路を通り抜けたLEDのところはON(1) つまり点灯です。
| |
|
![]() |

