SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine(コードジン) DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

マンガで分かるプログラミング用語辞典

「16進数」
~マンガでプログラミング用語解説

マンガで分かるプログラミング用語辞典(11)

解説

 プログラムでは、2進数以外にも、8進数や16進数といった数え方も使います。ここでは、プログラミングでよく使う16進数を紹介します。

 2進数は2ごとに桁が上がる数え方でした。10進数は10ごとに桁が上がる数え方でした。同じように、16進数は16ごとに桁が上がる数え方です。

 16進数では、「0 1 2 3 4 5 6 7 8 9 A B C D E F」の16種類の文字を使って数を表わします。10以上の数字は、アルファベットの「A~F」を使って表現します。Aは10、Bは11、Cは12、Dは13、Eは14、Fは15になります。

 この16進数は2進数の4桁で表現できます。

例)2進数の4桁で、16進数1桁が表現可能
4 3 2 1
――――――
0 0 0 0 - 0
0 0 0 1 - 1
0 0 1 0 - 2
0 0 1 1 - 3
0 1 0 0 - 4
0 1 0 1 - 5
0 1 1 0 - 6
0 1 1 1 - 7
1 0 0 0 - 8
1 0 0 1 - 9
1 0 1 0 - A(10)
1 0 1 1 - B(11)
1 1 0 0 - C(12)
1 1 0 1 - D(13)
1 1 1 0 - E(14)
1 1 1 1 - F(15)

 この2進数の1つの桁のことを「ビット」と呼びます。16進数の1桁は4ビットで表わせます。同様に、8ビットの領域があれば16進数で2桁分の数字を、12ビットの領域があれば16進数で3桁分の数字を利用できます。

例)12ビットで表現できる16進数の桁数
|           |           |           |
|凸 凸 凸 凸|凸 凸 凸 凸|凸 凸 凸 凸|
| 16進数の  | 16進数の  | 16進数の  |
|  3桁目    |  2桁目    |  1桁目    |
|           |           |           |

 プログラムでは、この16進数で、数値を見ていく場面がよく発生します。16進数がどういった物なのか、覚えておくとよいでしょう。

サンプル

 16進数の処理を、JavaScriptで簡単に書いてみます。

<html>
    <head>
        <title>「16進数」のサンプル</title>
    </head>
    <body>
        <pre><script type="text/javascript">
            document.writeln("10進数の0~32を2進数と16進数で表わす\n");
            for (var i = 0; i <= 32; i ++) {
                document.writeln(
                      form(i, 3)
                    + " - "
                    + form(i.toString(2), 6)
                    + " - "
                    + form(i.toString(16), 2)
                );
            }

            // 桁揃え用関数
            function form(s, n) {
                if (String(s).length < n) {
                    s = form(" " + s, n);
                }
                return s;
            }
        </script></pre>
    </body>
</html>
出力結果)
10進数の0~32を2進数と16進数で表わす

  0 :      0 :  0
  1 :      1 :  1
  2 :     10 :  2
  3 :     11 :  3
  4 :    100 :  4
  5 :    101 :  5
  6 :    110 :  6
  7 :    111 :  7
  8 :   1000 :  8
  9 :   1001 :  9
 10 :   1010 :  a
 11 :   1011 :  b
 12 :   1100 :  c
 13 :   1101 :  d
 14 :   1110 :  e
 15 :   1111 :  f
 16 :  10000 : 10
 17 :  10001 : 11
 18 :  10010 : 12
 19 :  10011 : 13
 20 :  10100 : 14
 21 :  10101 : 15
 22 :  10110 : 16
 23 :  10111 : 17
 24 :  11000 : 18
 25 :  11001 : 19
 26 :  11010 : 1a
 27 :  11011 : 1b
 28 :  11100 : 1c
 29 :  11101 : 1d
 30 :  11110 : 1e
 31 :  11111 : 1f
 32 : 100000 : 20
フィードバックお待ちしております!

 ご感想、解説して欲しい用語、解説内容のアドバイスなどございましたら、FacebookTwitterなどでお気軽に編集部までお寄せください。よろしくお願いいたします。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
マンガで分かるプログラミング用語辞典連載記事一覧

もっと読む

この記事の著者

柳井 政和(ヤナイ マサカズ)

クロノス・クラウン合同会社 代表社員http://crocro.com/オンラインソフトを多数公開。プログラムを書いたり、ゲームを作ったり、記事を執筆したり、マンガを描いたり、小説を書いたりしています。「めもりーくりーなー」でオンラインソフト大賞に入賞。最近は、小説家デビューして小説も書いています(『裏切りのプログラム』他)。面白いことなら何でもOKのさすらいの企画屋です。 

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/6746 2012/09/25 14:00

おすすめ

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー