• ベストアンサー

「16進数って何?」って、子供に聴かれました・・・

こんばんは、質問です。 最近コンピューターに興味が出てきたのか、いろいろなことをしているのですが、突然、「16進数って何?」って、子供に聴かれました。 私も、何となくではわかっていたつもりだったのですが、いざしかも子供に聴かれると、ちょっと説明ができませんでした。 誰か、わかりやすく教えられる方、ぜひ説明、URL何でもいいので、知恵を貸して下さい。 以上、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • f-uga
  • ベストアンサー率37% (168/445)
回答No.6

某大学 電気電子工学科4年に属する者です。 順を追って説明させて頂きます。 普段我々が使用している表現「0,1,2,3,4,5,6,7,8,9」これは10進数と言います。 0~9までの10個の数字の組み合わせて使用するので「10進数」と呼ばれています。 次に、コンピュータなどが使用している表現は「1,0」の2つのみです。 これは"1"と"0"の2つだけなので、「2進数」と呼ばれています。 (実際のPC内部の回路では、電圧が高い状態を"1"、低い状態を"0"として、信号を伝達しています。) 10進数をそれぞれ2進数で表現してみます。 10進数:2進数 0:0000 1:0001 2:0010 3:0011 4:0100 5:0101 6:0110 7:0111 8:1000 9:1001 10:1010 (以下略) 変換計算の方法は今回の趣旨とは異なるため省略させて頂きます。 私の回答に捕捉を付けて頂ければ、改めてご説明いたします! 10進数を2進数で表す場合、0以上15以下までは4桁で表現できます。 しかし、16以上511以下を2進数で表す場合、8桁になってしまいます。 そのため、10進数の大きな数値を2進数に変換すると、どんどん桁が多くなっていってしまいます。 そこで考えられたのが、16進数という表現方法です。 16進数で用いる数字/記号は「0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F」です。 0~9の意味は説明するまでもありません。その数値の通りです。 A~Fの記号はそれぞれ、10進数の数値と同期しています。 Aの意味:10進数の"10" Bの意味:10進数の"11" Cの意味:10進数の"12" Dの意味:10進数の"13" Eの意味:10進数の"14" Fの意味:10進数の"15" 0~9の10個の数値と、A~Fの6個の記号を組み合わせて表現するため「16進数」と呼ばれます。 変換計算の方法は今回の趣旨とは異なるため省略させて頂きます。 私の回答に捕捉を付けて頂ければ、改めてご説明いたします! 要するに、16進数は2進数を簡潔に表現するためのものです。 お子様にもそのようにご説明していただければ、間違いないです。 最後として参考までに、各進数の変化が分かる表示を挙げさせて頂きます。 これを御覧頂ければ、16進数が如何に2進数を簡潔に表現しているのかが分かって頂けるはずです。 10進数:2進数:16進数の順です。 0:0000:0 1:0001:1 2:0010:2 3:0011:3 4:0100:4 5:0101:5 6:0110:6 7:0111: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:0001 0000:10 17:0001 0001:11 18:0001 0010:12 19:0001 0011:13 20:0001 0100:14 21:0001 0101:15 22:0001 0110:16 23:0001 0111:17 24:0001 1000:18 25:0001 1001:19 26:0001 1010:1A 27:0001 1011:1B 28:0001 1100:1C 29:0001 1101:1D 30:0001 1110:1E 31:0001 1111:1F 32:0010 0001:21 (中略) 52:0011 0100:34 (中略) 108:0110 1100:6C (中略) 291:1101 1011:DB (以下略) ~~まとめ~~ 10進数は人間が使用する表現。 2進数はコンピュータが使用する表現。 16進数は、2進数を簡潔に表現し、人間でも読み取りやすくするための表現。

DORAEMON-fm
質問者

補足

詳しく、しかも丁寧な回答、本当にありがとうございます。 変換計算などを補足すれば、書いていただけると言うことでしたので、差し支えなければでいいので、書いていただけないでしょうか?

その他の回答 (10)

  • Microstar
  • ベストアンサー率21% (289/1367)
回答No.11

コンピュータの場合は、構成を考える上で1ビット単位より4ビット単位にした方が都合がよいことで、16進数が使われたのだと思います。その方が機械語、CPU内のアドレス、データなどの構成を倍々にしやすいです。

  • wbuta
  • ベストアンサー率37% (203/543)
回答No.10

先ず、進数と桁が繰り上がるという意味を説明して置いて。 現在の(現時点での)コンピーターには、2進数での扱いが便利と言う事も理解して貰い。 コンピーターの中では、桁が大きく成っても問題無いが、人間に取っては扱い難いので 2進数を変換し易い(親和性が良い←と言う事を理解して貰う)数値に置き換える為に16進数と言う物が生まれた。 -- 2進数の4桁が、16進数にすれば、1桁で済む為、人間の目から見て簡単に感じられると、…

回答No.9

普段一番利用している10進数は10で桁上がり。 で、16進数は16で桁上がり。 ただこれだけのこと。

回答No.8

16進数自体の説明は他の方がされているので、「なぜその様な数え方があるのか?」の点から子供が納得しそうな例を幾つか挙げたいと思います。 No.1の方が仰るように時間は60秒で1分、60分で1時間の様に60で別単位、別のもので一括りにしますね (正確には違いますが)謂わば桁上がりさせている訳です さらに24時間で1日、365日や12ヶ月で一年、100年で1世紀というように、その時々の扱いやすさ(時間は歴史的な背景もありますが)によって日常的に色々使い分けています 他にも ・365度で1周 ・7日で1週 ・12個で1ダース なども同様です

  • mrkato
  • ベストアンサー率47% (1008/2121)
回答No.7

人は数を数える時に、両手の指10本の並びで一区切りします。 指折り数えて、次の器=桁に移す動作が凄く解りやすくて、 だから10進法が一番使っています。 これを、指点字(点字の縦列を伝える両者の指を重ね合わせて リアルタイムで伝える技術で実際に有ります。 ここではそのイメージだけ言いたいので現実の事は述べません) とかピアノの鍵盤みたいな、一度に押すパターンだけで伝える、 但し同時に押してる所が必ず判るから、パターン全てを使える。 という、デジタルの伝え方で試してみましょうか。 指一本だけだと、押すと離す、の2パターンで、次の器=桁に 移る合図(同期タイミング)をしてまた、2パターンです。 ゼロから伝えようとしたら、それと1しか意味がないので、 2を伝えるには、次の器=桁に1繰り上げた事にしていきます。 2で繰り上げだから、2進法、2進数と名前が付きます。 指が、デジタルの仕組みでビットの意味、という訳で 指二本に増やすと、まず両方離しているゼロから、 一本触っているのがさっきの1パターンと、 次の桁でなく指同士繰り上げした事にした、2のパターン、 (指の並びどちらを一番目二番目にするかは事前に決めておきます。 デジタル論理の図面などでビッグ/スモール・エンディアンと言う基準) じゃあ両方触って、2+1=3のパターンも、有りになります。 これだと4で繰り上げ、4進法となります。 三本にしたら、4+3=7まで増えて8進法、それで良いです。 四本だと、8+7=15まで一桁で伝わる16進法、16進数ですね、 で、一桁で16なんて2ケタ費やしてたら混乱しますから、 10から15まで、アルファベットABCDEFで書いたりします。 アルファベットだけなら3ビット2桁の64個に割り当てても 使えるので、デジットとアナログのハイブリット電信メールインフラ、 テレックスの紙テープに孔を明けて記録するのが、6ビット。 それがコンピューターに応用されテレタイプライターになる時に、 7ビットなアルファベットASCII規格、更に合図のための偽文字を 挟んたり8ビット有る事にして、半角カタカナが使える時代の時には、 4ビットを横の並べで16とか24に増やしたハードウェアがおおいので、 プログラミングする仕事も、人力で16進数読み書きしてました。 リナックスとかのUNIX産物も当時のPDP11ミニコンピュータと、 あちこち理系の人が自分の道具造りで勉強した成果の一端なので、 16進法解ると、自力で書き換えれるのが凄く増えるんで広まった。

DORAEMON-fm
質問者

お礼

わかりやすい、へぇ~って思える回答、ありがとうございました。

  • bajutsu
  • ベストアンサー率20% (139/693)
回答No.5

普通の数の数え方(10進数)はどうやって教えましたか? 時計の読み方(60進数、12進数、24進数)はどうやって教えましたか? それらと同じように教えればいいと思います。

  • Carbadoc
  • ベストアンサー率19% (144/750)
回答No.4

よしゃ。まず、「進数」という言葉の説明から始めましょう。 進数というのは、ざっくばらんに言うと、「数を数えてって、その数字になったら、桁が繰り上がる」という意味。でしょう。 10進数なら、0→1→2....7→8→9と数えてゆき、「10」になったら、桁が上がり(10の位が1つ増えて)、(1の位は)改めて0から数えるでしょう。(うーん、あまりにも当たり前すぎて逆に理解しづらいか) んじゃ、もうちょっと他の例を持ってこよう。 たとえば、一年12か月。これは12進数と考えてもいいんじゃないかな。1か月→2か月→3か月...10か月→11か月→12か月。この次が、1年と1か月。んで、1年と2か月→1年と3か月... うーん、あんまり良い例じゃないか。なんとなく、そんなかんじということで。ひとつ。 話を戻して、16進数。 これは、数字を数えていって、「16」になったら、桁が繰り上がる。というもの。 0→1→2....13→14→15と数えていって、次の16で桁が繰り上がって、1の位はまた0から数え始める。というもの。 ただ、これだと、「『じゅうご』の次は桁が繰り上がって『じゅうじゅうご』ですかい?『じゅうれい』ですかい?」という話になるので、16進数では「10」以降の数にアルファベットを使う。 だから、 0→1→2→3→4→5→6→7→8→9→A(ほんとは10)→B(11のこと)→C(12)→D(13)→E(14)→F(15) と、数字が進む。 こうすれば、「16」になったとき、十の位が1つ繰り上がり、一の位が0に戻るので"10"になる。(習慣として『いちぜろ』と読む) どんどん数字が増えてゆけば、"110"(『ひゃくじゅう』じゃないぞ。『いちいちぜろ』だ。10進数だと272)とか、"A3FC"(『えいさんえふしー』と読む。10進数で41980)とかそんな数にもなってゆく。 好奇心旺盛のお子さんなら、「なんでコンピュータは10進数じゃなくて16進数なの?」という話になると思うけど、まぁ、それは、また別の質問で。(四本の旗を立てたり下したりすることで0から15の数字を表すことができる・・・みたいな話になると思う) とりあえず、「16進数っちゅうのは、0から15まで数えていって、16になったら桁が繰り上がる数え方」ということで。

DORAEMON-fm
質問者

お礼

一番はじめからの丁寧な説明ありがとうございました。

  • samtomsan
  • ベストアンサー率55% (1060/1897)
回答No.3

すでに子供にも判り易い回答がありますが、「進数」で検索するといろいろ出てきます。 コンピュータ関係でしたら、二進数、八進数、十六進数を説明してあげると親の権威が保てるかも。(^_^) 「進数」で検索して下記などを参考にされてください。 http://www.asahi-net.or.jp/~ax2s-kmtn/ref/bdh.html http://net-newbie.com/tcpip/radix.html 「60進数」「12進数」とか「6進数」なども調べる面白いですし、時計とか暦の話に発展させることもできますね。

  • deltaufp
  • ベストアンサー率39% (136/341)
回答No.2

16進数は、文字通り16ごとに桁がひとつ上がる数の数え方です。 人間がよく使うのは10進数です。これは0からスタートして9までが1桁目です。それが一つ増え10となった時、桁が2桁になります。10って二桁ですよね? 対して16進数は0から15までが1桁で表せる数となります。しかし、15というのはすでに2桁になってしまってますよね?15を1桁で表すにはどうしたものかと考えた結果、1桁で表せる最大の数字である9とアルファベットを組み合わ褪せて15を1桁で表すことにしました。16進数では、0~9、そして10からはA,B,C,D,E,Fを使って表します。Aが10進数の10ということになります。そして、Fまでいって一つ増えたら桁が上がり10となります。この時、10となりますが10進数の10とは意味合いが異なります。なので、「じゅう、とお」などとは言いません「イチ・ゼロ」というのが一般的です。 他にも、コンピューターの根幹をなす2進数もあります。これは0と1の2つの数字しか使いません。1桁で表せる数は0が最小で1が最大です。なので、2になろうとした時に桁上りします。

  • bari_saku
  • ベストアンサー率17% (1827/10268)
回答No.1

60進数の時計を例に出すとわかりやすいかもしれません。

関連するQ&A