ITパスポート試験の難易度★★

ITパスポートを会社に通いながら60日でサクサク通過する「ぬるい日記」

16進数について(ITパスポート)

 

16進数とは

16心痛ではなく、16しんすうと読みます。

 

2進数で学んだのと同じ、16コ目で1桁上がります。

ところが、

 

10とは13とかの表記はしません。

 

なんと・・10=A、11=B、と表現します。

 

並べると、

1・2・3・4・5・6・7・8・9・A(10)・B(11)・C(12)・D(13)・E(14)・F(15)

となります。

以上15個の数字とアルファベットを使って表現されます。

 

では、16はどうなるのかというと。

「10」になります。

 

???と、なりますが、

 

安心してください。

 

2段目の「1」は16の1乗を掛けたものになります。

つまり、

1×16=16

と、いうことです。

 

2進数で「10」と並んだ数字は『2』であると学びました。

 

16進数でも同じ「10」の場合は『16』となります。

 

なぜなら、10は2進数の1は2段目にあるので2の1乗を掛けた数字になりますそれに0を足すので、(2+0)となり答えは:2

 

16進数の10は2段目の1に16の1乗を掛けるので、(1×16+0)となり答えは:16

 

では、「F1」はどうでしょう?

 

1=16進数の1段目なのでそのまま「1」

 

F=15でしたね。

 

15に16の1乗を掛けるので(15×16=240)

240に1を

足すと=241になります。

 

ここまでで出遅れた人は、2進数をもう一度見直した方が良いかもです。

 

とにかく、ここで覚えておくべきは。

16しんすうは15個しかない、という事。

10=A

11=B

12=C

13=D

14=E

15=F

これだけは覚えておきましょう。

 

16進数の1〜Fはただの数字、右端の数字は1の位と考えて良い、ただし、2つ目の位からが厄介、16の1乗×数値となる。

 

つまり、A1はまず、Aを10に翻訳して、から16を掛る、そして1を足す。

つまり、「161」になる。

分かりにくいので、区切ると。

160+1=「161」になるだけ。

 

 16進数を10進数に直す

では、「ABC」という16進数は10進数でいくつ?

 

A=3段目かつ10なので

10×16の2乗になる

10×16×16=2,560

 

B=2段目かつ11なので。

11掛ける16の1乗になる。

11×16=176

 

C=12

足すと=2,748です。

 

つまり、ABC=2,748という事ができます。

 

ぎょぇええ!

こんな問題出るのか?

 

普通に出ます。

回答は4〜5択と思われますが、外したらアウト!

 

一体なにに使うんだ何に?

コンピュータやネットワーク、WEBコーディングのカラーの表現などに頻繁に使います。

 

16進数の使われ方

例えばシルバーsilverは16進数で指示を出すと、

#「C0C0C0」となります。

10進数に直すと12632256になりますが、

2進数に直すと110000001100000011000000となり、コンピュータはこれを見て「シルバー」と判断できます。

もちろんコードを表記するプログラムの基準に準拠する必要はあります。

 

 何故そうなるのか?

コンピュータは電気で動いている、のは知っていると思いますが、電気には電流・電圧があり「0の時は電流なし」「1の時は電流あり」電流の有る無しで動作します。

 

つまり、

「100110」は有り・無し・無し・有り・有り・無しとなる。

 

こんな単純な事を膨大に繰り返すことにより、最終的に答えを導くというわけです。

 

 

その他にも、近年拡大しているネットワークのIPアドレスではIPv6は全て16進数で表記させます。

 

例えば (2001:0db:0000:0000:320f:000:000:feo1)とか、

こんな感じで表記される(短縮は可能)

 

理由:2進数32ビットのIPv4アドレスでは2の32乗(約43億)の

アドレスが提供可能ですが現在の地球の人口は約75.3億人です、さらに会社などはIPアドレスを大量に使用します、故にIPアドレスが足りません。

 

したがって、16進数うを使うことによって、3.4×1036 という約340澗(カン)の数の割り当てが理論上可能なIPv6が使用されているのです。

 

 

10進数を16進数にするのにはどうすれば良いか?

基本原則:右から16の0乗、16の1乗、16の2乗と増えてゆく。

 

2進数の場合1を引くか、余りを右から記載すれば良かったのですが、16進数はそうはいかない。

 

何しろ、16を引いても何の役にも立たない。

 

したがって、計算機で16を掛けて近づけてから余りを求める必要があります。

 

例えば、556の場合。

 

計算機で556÷16=34.75と出る。

次に16×34=544と出る

余りは556ー544=12と出る

つまり、余りは12

右端に12=Cなので「C」と書く。

 

この時16で割った答えが34なので次は34を16で割る、

34÷16=32+

 

」と書く、

 次に、32÷16=

ここで割り切れなくなる。

 

最後に割り切れなくなった「」を書く。

(決まり、整数で計算する。)

 

答え:22C

 

なぜこうなるのか?

 

分解してみよう。

 

左端の2は3段目なので、16の2乗

2×16×16=512となる。

 

真ん中の2は2段目なので、16の1乗

2×16=32となる。

 

右端のCは10進数の12なので

12となる。

 

5123212=556となる。

 

わかっった?

 

一回では無理・無理!

 

もう一回行くよ!

 

「666」を16進数に直すとどうなる?

まず、

666を16で割る。

666÷16=41.625となる

 

41×16=656

666ー656=10

つまり、余りは10

10=Aなので

 

左端に「 A 」と書く。

 

この時41で割ったので、それを16で割る

41÷16=2.56・・

となるので、

41÷16=2+9

つまり、16×と余りが「9」

ここで、余りをAの側に書く

 

9Aとなる。

 

最後にが余ったので

最後に2と書く、

「29A」となる。

 

分解してみよう。

 

端の2は3段目の16進数なので16の2乗

2×16×16=512

 

真ん中の9は2段目なので16の1乗

9×16=144

 

最後のAは10進数にすると10なので

A=10

 

足すと、

51214410=666となる。

 

以上を言葉にまとめると・・・

 

まず、16で割る、割り切れた数(16割った整数部)をさらに16で割る。

それぞれの余りを右から書いてゆく、

最後に16で割り切れなかった数を左端に書く。

 

練習問題

問題:1285は16進数でいくつか?

 

1285÷16=80.3・・

1285ー80×16=5(余り

80÷16=(余り

答え:505

 

 

問題:9895は16進数でいくつか?

 

9895÷16=618.4・・・

618×16=9888

9895−9888=7(余り

618÷16=38.6・・・

38×16=608

618−608=(余り10=A

38÷16=2.3・・・

×16=32

38ー32=6(余り

32÷16= 

答え:26A7

 

 

次回は2進少数がチラッと見えたが、スルーしてシステムの導入をサクッと覚えます。