« 【応用情報】 基礎理論-数値変換 | Main | YouTube動画の保存アプリ »

February 02, 2013

【応用情報】 基礎理論-浮動小数点1

■2進数の浮動小数点

<<問題1>>(サンプル:平成18年出題)

18_

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>>

注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 と考えれば納得ですか。

<<回答>>>
(1)

ア) 符号部:0 正の数、指数部: 1、仮数部 0. 5  → 2 1×0. 5 = 1  
イ)符号:正の数、指数部:1001 は 0111= 7(10)の補数表示、仮数: 0. 5
   → 2 -7×0. 5 = 0. 00390625 (有限小数)
 
エ)負数 -2 1×0. 5 = - 1

(2)

① 5. 75= 101. 11(10) = 1. 0111×2 2  
   符号部: 0、指数部: 2 + 127(ゲタ) = 1000 0001、仮数部: 整数 1 捨てて 01110000…0 (23ビット)
  故に、 0 / 1000 0001 / 011 1000 0000 0000 0000 0000
② 80 = 2 6+2 4 = 1010000 = 1. 01× 2 6 
   符号部 : 1 (負数)、指数部: 6+127 = 1000 0101 、仮数部: 0100000…0 (23ビット)
  故に 1 / 1000 0101 / 010 0000 0000 0000 0000 0000 

勉強会ネタ

|

« 【応用情報】 基礎理論-数値変換 | Main | YouTube動画の保存アプリ »

Comments

The comments to this entry are closed.

TrackBack


Listed below are links to weblogs that reference 【応用情報】 基礎理論-浮動小数点1:

« 【応用情報】 基礎理論-数値変換 | Main | YouTube動画の保存アプリ »