ITパスポート家庭教師のつぶやき -103ページ目

8進数から16進数への基数変換

いきなりですが、実際に出題された問題です。あせるあせる


いきなり解かなくていいですよニコニコニコニコ


=================================
平成21秋
=================================
【問64】8進数の55を16進数で表したものはどれか。
   
     ア 2D  イ 2E  ウ 4D  エ 4E



=================================
平成22春
=================================
【問52】2進数1.101を10進数で表現したものはどれか。

     ア 1.2  イ 1.5  ウ 1.505  エ 1.625


=================================
平成22秋
=================================
 出題なし。



と、まぁ定番のように基数変換は出題されます。!!




で、今回は問64の8進数→16進数を解説します。メモ




解き方がいろいろありますので


まずは2通りの解き方


【正攻法】


 8進 → 10進 → 16進

 8進数を10進数に変換し、変換後の10進数から16進数に変換する。




【簡単な方法】※


 8進 → 2進 → 16進

 8進数を2進数に変換し、変換後の2進数から16進数に変換する。


 ※以下の変換パターンの場合のみ有効
  2進数 ←→ 8進数
  2進数 ←→ 16進数
  8進数 ←→ 16進数




では、まず正攻法で解いてみましょう。サーチ



1.55(8進)を10進に変換します。


 見出しを書き出します。見出しの書き出し方

 64 8 1


 じゃ、55で計算します。


  64  8  1
  ×  ×  ×
  0   5  5
      =  =
     40  5

 

  40 + 5 = 45(10進)




2.45(10進)を16進にします。


 見出しを書き出します。
 256 16 1


 見出しの大きい値で割って行きます。
 
 45は256では割れないので次の16で割ります。
 45 ÷ 16 = 2 ・・・ 13


 2で割れたので、16のところに2として、余りは1の桁に13とします。

 256 16 1 
      × ×
      2 13
      = =
     32 13


 検算(32 + 13 = 45(10進))


★2、13 と求められましたが、13を一桁で表すのが16進数なので。


 0(10進) → 0(16進)
 1(10進) → 1(16進)
 2(10進) → 2(16進)

   省略  

 9(10進)  → 9(16進)
 10(10進) → A(16進)
 11(10進) → B(16進)
 12(10進) → C(16進) 
★13(10進) → D(16進) 


 13(10進)は、D(16進)です。


よって、2Dとなり、答えは「ア」となります。


ふうーε=(。・д・。)


疲れたので、簡単な方法の説明は次回に気が向いたら。。


(^-^)/


↓簡単な方法

http://ameblo.jp/itpass/entry-12087412893.html