人生の議事録

やっていることとか、考えたこととか。

8進数を「2進数」「10進数」「16進数」にする方法

今日は、8進数を「2進数」「10進数」「16進数」にする方法について!

 

f:id:kenshisakamoto:20170628234645p:plain

 

基本情報技術者の勉強をして早3週間くらい経つのですが、計算問題の多さにビビっています。

 

最近はこうして、2進数や10進数の変換について勉強していますが、他にも補数とかシフト演算とか小数表現とか、いろいろありすぎてパニック....

 

焦らず1つずつやっていくことにします。

 

全く関係ないですが、最近目に留まった名言

 

「センスがないというのは、単なる練習不足である場合が多い」

 

うむ。いい言葉だ。

 

 

8進数⇒2進数

まずは8進数を2進数に変換する方法から。

 

<8進数13を2進数に変換する>

 

8進数⇒   1    |  3

2進数⇒    001  |   011 

 

まずは、8進数の1桁を2進数の3桁に変換します。

すると上記のようになります。

 

      0 0 1 0 1 1

 

左側の二つの「0」は余分なので、削除します。

 

よって答えは、「1011」となります。

 

 

8進数⇒10進数

続きまして、8進数⇒10進数への変換

 

<8進数13を10進数へ変換する>

 

10進数の変換は重みを使って計算します。

 

8進数⇒   1   3

重み⇒   8^1  8^0 

10進数⇒    1×8  3×1

 

=8+3

=11

 

このようになります。

 

 

8進数⇒16進数

最後に8進数から16進数へ変換する方法。

 

<8進数26を16進数に変換する>

 

まずは10進数に変換。

 

8進数⇒   2   6

重み⇒   8^1  8^0

10進数⇒  2×8  6×1

 

=16+6

=22

 

次に求めた10進数22を16進数に変換する。

 

   16)22

                ) 1・・・6

                  0

 

=16

 

なので答えは「16」となります。

 

 

 

おわり。

 

 

 

皆さん、本当に勉強お疲れ様です!

 

試験日が近づいてピリピリするのも分かりますが、たまにはリフレッシュもしてくださいね。

 

リフレッシュ方法は人によってさまざまだとは思いますが、たまには羽目を外して遊ぶのもいいですよ!

 

良かったら参考にしてみてください。

 

ワクワクメールって実際どうなの?ユーザーの評判総まとめ

10進数を「2進数」「8進数」「16進数」にする方法

今日は、10進数を「2進数」「8進数」「16進数」にする方法について!

 

仕事終わりで疲れているけど、負けない!眠くない!アイス食べたい!

 

f:id:kenshisakamoto:20170626232212j:plain

 

さて、ちゃっちゃとやっていきましょう♪

 

10進数⇒2進数

ど定番のやつからいきやしょう。

 

<10進数16を2進数に変換する>

 

やり方は簡単です、16を2で割っていくだけ。

 

    2)16

    2)8・・・0

            2) 4・・・0

    2)2・・・0

            2)1・・・0

                0・・・1 ←余りの数を反映させる

 

=10000

 

ポイントは商が「0」になったときは余りの数を反映させるというところ。

今回のケースでいうと1÷2は1以下の数になるので、0になります。

というのも、10進数⇒2進数の計算では0になった時点で計算は終わりです。

しかし、余りの数字を反映させます。

             

 

 

10進数⇒8進数

10進数⇒8進数の計算は先ほどの10進数⇒2進数の計算と同じです。

 

<10進数127を8進数に変換する>

 

              8)127

      8)15・・・7

              8) 1・・・7

           0・・・1 ←余りの1を反映させる

              

=177

 

2進数⇒10進数と同じで商が0になるまで8で割っていきましょう。

商が0になったらあまりの数を反映させましょう。

 

 

10進数⇒16進数

10進数⇒16進数もやはりやり方は同じ。

 

<10進数127を16進数に変換する>

 

    16)127

    16)7・・・15 ←16進数で表すと「F」になる

                 0 ・・・7

 

=7F

 

15は16進数で表すと「F」になるので答えは7Fとなります。

 

 

 

おわり。よしアイス食べる!

 

2進数「1001110」を16進数に変換する方法

2進数から16進数に変換する問題を解いていくと、タイトルのような問題にぶち当たると思います。

 

何が言いたいかというと、

 

2進数⇒  1   0   0   1    1   1   0

 

 

桁が足りひんやんけ問題です。

 

f:id:kenshisakamoto:20170625210650j:plain

 

今までは、

 

2進数⇒  1   0   1   0    1   0   1   0

 

このように綺麗に4つずつ分けることができたので、簡単に計算ができていたと思います。

 

せっかくなので計算してみますと、

 

2進数⇒  1   0   1   0    1   0   1   0

 

重み⇒     2^3     2^2    2^1     2^0        2^3     2^2    2^1       2^0 

計算⇒  1×2^3  +  0×2^2  +  1×2^1  +  0×2^0   1×2^3  +  0×2^2  +  1×2^1  +  0×2^0

     =8+2                      =8+2

     =10                      =10

 

=AA

 

となります。

 

 

さて本題に戻します。

 

2進数⇒  1   0   0   1    1   1   0

 

ちなみにこの分け方は間違っています。

 

「1001110」このような2進数を16進数に変換する場合、

 

2進数⇒  0   1   0   0   1    1   1    0

 

左からではなく、右から4つずつ数字を分けるようにします。

 

すると左側には一桁足りなくなりますよね?

 

数字が足りない場合は「0」を補います。

 

あとは、いつも通り計算するだけ。

 

2進数⇒  0   1   0   0   1   1   1   0

重み⇒     2^3     2^2    2^1     2^0       2^3     2^2     2^1       2^0 

計算⇒  0×2^3  +  1×2^2  +  0×2^1  +  0×2^0   1×2^3  +  1×2^2  +  1×2^1  +  0×2^0

     =4                          =8+4+2

     =4                       =14

 

=4E

 

と、このようになります。

 

 

おわり。