どうもゼロイチです!
今日は基本情報技術者試験(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を足す必要があります!