人生の議事録

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

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

 

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

 

 

おわり。