Loading [MathJax]/jax/output/CommonHTML/jax.js
関連するページを見るにはこのグラフ図を利用してください.

小数の基数表現 

■小数の基数表現

基数での表現は整数のみではなく,小数でもできる.

整数と同じく重みという言葉を用い定義する.→基数

n 進数の基数はn であり,小数点第 k 桁の重みは nk となる.

例えば,小数第3位までのn 進小数は

0.ijk=i×n1+j×n2+k×n3

(i,j,k は,n 進数で使われる0n1 までの数)

を意味する.

10進小数0.123では

0.123=1×101+2×102+3×103

=1×0.1+2×0.01+3×0.01

である.

■2進小数 

上記の定義より2進小数0.1101は

(0.1101)2=1×21+1×22+0×23+1×24

=0.5+0.25+0.0625

なお,10進数との対応を下の表に示す.

10進数 0.50.250.1250.06250.03125
2進数 0.10.010.0010.00010.00001


■2進小数→10進小数 

変換する2進小数の各桁に重みを掛け求める.

【例】

(0.1011)2=1×21+0×22+1×23+1×24

=0.5+0.125+0.0625

=(0.6875)10

■10進小数→2進小数 

ある10進小数0.a1a2a3an を考える.a1,a2,a3,,an は1~9の自然数である.

この10進小数を2進少数に変換すると

(0.a1a2a3an)10=(0.b1b2b3bn)2 ・・・・・・(1)

となったとする.b1,b2,b3,,bn は0か1である.

(i)

(1)の両辺を基数表現に直すと

a1×101+a2×102+a3×103++an×10n

=b1×21+b2×22+b3×23++bn×2n ・・・・・・(2)

(2)の両辺を2倍する.

a1×101+2a2×102+2a3×103++2an×10n

=b1+b2×21+b3×22++bn×22 ・・・・・・(3)

(3)の左辺は

0<2a1×101+2a2×102+2a3×103++2an×10n<2

となる.よって,(3)の左辺の10進数の整数部は1か0である.ここで,左辺の値が1より大きいなら(ii),1より小さいなら(iii)の操作を行う.

なお(ii)と(iii)の操作後,右辺の小数点以下が0(言い換えると1)となれば(iv)へ.

(ii)

(3)の右辺は(b1.b2b3bn)2 となる.

(b1.b2b3bn)2>1

より

b1=1

が得られる.

(3)の両辺から1を引いた後、左辺を10進小数に,右辺を2進小数に戻して改めて(1)とし,(i)に戻る.この時,2進小数は(0.b2b3bn)2 である.

(iii)

(3)の右辺は(b1.b2b3bn)2 となる.

0<(b1.b2b3bn)2<1

より

b1=0

が得られる.

(3)の左辺を10進小数に,右辺を2進小数に戻して改めて(1)とし,(i)に戻る.この時,2進小数は(0.b2b3bn)2 である.

(iv)

b1bn を小数点以下順番に並べると10進小数を2進小数で表せる.

以下に,計算例を示す.


ホーム>>カテゴリー別分類>>その他>>基数の定義

最終更新日:2023年10月6日

[ページトップ]

金沢工業大学

利用規約

google translate (English version)