基本情報技術者試験

2進数を8進数、16進数へ!!

どうもゼロイチです!

今日は基本情報技術者試験(FE)について勉強したのでその内容をアウトプットしていきます!

今回はタイトルにある通り「2進数を8進数または16進数へ変換する方法」についてです。

それでは早速やっていきましょう!

2進数から8進数へ

【2進数|整数】1101100

やり方は3ステップでとても簡単!

①数字の1桁目から左に3桁ずつ区切っていく

②最後3桁にならなければ無い桁は0で埋める

③各区切りを8進数に変換

今回だと

① __1|101|100

② 001|101|100

③ 1|5|4

したがって【8進数】では154になります!

小数も簡単です^^

【2進数|小数】1111.0011

整数部分は先ほど同様、小数部分はほとんど同じですが以下のステップです。

小数点の右の数字(小数第1位)から右に3桁ずつ区切っていく

②最後3桁にならなければ無い桁は0で埋める

③各区切りを8進数に変換

早速やってみましょう!

① __1|111|. 001|1__

② 001|111|. 001|100

③ 1|7|. 1|4

したがって【8進数】では17.14になります!

2進数から16進数へ

2進数から16進数も8進数への変換とほとんど同じです!^^

【2進数|整数】1101100

やり方は3ステップでとても簡単!

①数字の1桁目から左に4桁ずつ区切っていく

②最後3桁にならなければ無い桁は0で埋める

③各区切りを16進数に変換

なので、

① _110|1100

② 0110|1100

③ 6|C(←12)

したがって【16進数】では6Cになります!

さて小数は皆さんもやってみて欲しいです!

【2進数|小数】111100.101

答えは3C.Aですね。

補足

さらっとやってしまいましたが8進数、16進数への変換は各区切りの1がある桁について「2の桁数乗の和」になります。

例えば8進数は各区切り3桁の数字が並ぶので、

1桁目→20=1

2桁目→21=2

3桁目→22=4

例えば、2進数101 なら 8進数は 23+20 = 4+1 = 5 になります!

16進数の場合は、もう一桁増えるので4桁目が1なら23=8を足す必要があります!

-基本情報技術者試験