[記事公開日]2014/12/03
[最終更新日]2016/11/30

基本情報技術者試験 1-4(有限小数と無限小数)

超簡単です。

 

割り切れたら、有限小数。

割り切れなかったら無限小数。

 

10進数・・・ 0~9を使って表す(私たちが日常使ってる数)
2進数・・・ 0と1だけで表す
8進数・・・ 0~7で表す
16進数・・・ 0~9、A~Fを使って表す

 

ここまでは問題ないかと思います。

 

例)
2進数 111.111
10進数 4+2+1 + 1/2+1/4+1/8 =49/8

 

 

●小数点の表し方

ゼロがなくなるまで2を掛けていく!!

 

例)

10進数 0.375

 

2進数
0.375*2=0.75 ⇒0
0.75*2=1.5 ⇒1
0.5*2=1.0 ⇒1
⇒0.011

 

例)

10進数 0.6875

2進数
0.6875*2=1.375
0.375*2=0.75
0.75*2=1.5
0.5*2=1.0

⇒0.1011

 

●2進数→8進数への変換(3ケタで区切る!!)

2進数
1100.01(10進数だと12.25)

8進数
001 100 . 010
(両端の空白は0で埋める)

 

001→1
100→4
010→2

⇒14.2(10進数だと8+4+2/8=12.25)

 

 

●2進数→16進数への変換(4ケタで区切る!!)

2進数
1100.01

16進数
1100→12→C
0100→4

⇒C.4

 

●16進数→10進数への変換
16進数
3A.5C

10進数
16×3+10+5/16+12/256
=58+23/64
=3735/64

 

 

●16進数→2進数への変換
16進数

2A.4C

2進数

0001 1010 . 0100 1010

 

 

●有限小数と無限小数

例えば、10進数「0.3」を8進数表記にしてみたいと思います。

 

8進数
0.3*8=2.4
0.4*8=3.2
0.2*8=1.6
0.6*8=4.8
0.8*8=6.4
0.4*     ・・・無限ループ

 

計算は終わらないようです。

これが無限小数です。

 

逆に10進数「0.5」を8進数表記にするなら、

「4」になるため、有限小数と言えます。

 

 

●何進法で成立するか

(次の式は●進法で計算されているか?)
131-45=53

 

すべて2進数や4進数にしていけば計算できるのかもしれませんが、それでは時間が無くなってしまいます。

 

正直初見では難しいです・・・。

 

答え ⇒7進数

 

解説

45+53=131で考えます

 

最後の1ケタに注目します

 

「5+3」が一の位が「1」になるのはどれか?

 

6進数
5+3=8 ⇒12 ×

 

7進数?
5+3=8 ⇒11 ○ ←コレ!!

 

8進数?
5+3=8 ⇒10 ×

 

以上です

 

yamatunes