• ベストアンサー

「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/748)
回答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/10269)
回答No.1

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

関連するQ&A

  • ゾーン10進数とパック10進数の違い

    今度、内定者向けの研修で基本情報の対策をするのですが、その際に「ゾーン10進数」と「パック10進数」の違いを説明する事になりました。 だいたいの違いは分かるのですが、これをコンピュータの知識のあまりない学生に分かりやすく説明するにはどうすれば良いでしょうか? 皆様のお知恵をお借りしたいと思います。よろしくお願い致します。

  • 10進数3.14を16進数にした時の解放について

    タイトルの通り10進数3.14を16進数にした時の解放について詳しく教えていただけないでしょうか? 違う質問するところで見て興味がでたのですが、回答内容が理解できず…決して回答内容が悪いというわけではありません。私の方が知恵不足で^^; 誰か知っている方がいれば教えていただければ嬉しいです。

  • 子供の数

    こんばんは 最近、少子化で子供のが数が少ないですが、どう思いますか? 僕としては減税するか、中国やインドみたいにO子政策みたいのをすれば、いいと思ってます。

  • 子供の数

    出生率1.32とか報道されているようですが、この「出生率」、基本的には「加重平均」なんですよね? で、質問です。 最近、「一家に子供3人以上」の家庭が増えているような気がするのですが、実際のところどうなんでしょうか。 子供が、1人/2人/3人...いる家庭の比率のような統計は、どこて調べることができるのでしょうか。

  • URLにバイト数制限はありますか?

    URLにバイト数制限はありますか? ある場合、何バイト迄ですか? 256迄という話を昔聞きましたが、IE6はそれ以上扱えるようです。 また、RFC 1738にそのような規定はないということもわかりました。 そうなると、256という話はどこからでてきたのだろう?、と。 あるのかないのか白黒はっきりしたく、質問差し上げている次第です。 お忙しいところ恐縮ですが、お知恵を拝借させていただきたく。 どうぞよろしくお願いいたします。

  • 1度に生まれる子供の数

    人間が1回の出産で産む子供の数は 双子・三つ子・またはそれ以上の場合もありますが 多くは1人ですよね。 でも動物(犬など)は一回の出産で複数産む場合が よくありますよね? それはどうしてなのですか? 人間と何が違うのでしょうか。 教えてください。 初歩的な質問だったらすみません。

  • 子供の数と、その責任

    30歳男性です。 間もなく初めての子供が生まれます。 つい最近までは3人くらい子供が欲しいと思っていたのですが、ちょっと慎重になってきました。 近頃、仕事の辛さから転職も考えているのですが、もし子供を少しでも多く欲しいと思えば、その分収入の安定を 求めることにもなります。 子供を産む以上は、一人前になるまで育て上げる義務があると思ってます。 ですが、その義務に縛られて本来の自分の人生を縛り付けることにもなりはしないかと、不安になってます。 子供のためにも、自分はやりがいのある一生の仕事を見つけたいと思っています。 (毎日家で仕事の愚痴言ってたり、ため息ついてる父親なんてイヤですよね) そこでご質問なのですが、お子さんをお持ちの方は自分の人生設計に基づいて、責任持って育てられる範囲で お子さんを作っているのでしょうか? 最後に。。。 この質問によって不妊に悩まれている方に対して失礼がありましたら、大変すいません。

  • もしコンピューターが2進数から10進数になったら

    質問のとおりですが、もしコンピューターが2進数から10進数で処理するとどのような変化がおこるのですか? 教えてください。

  • 子供の数は、自慢になりますか?

    数年いろいろな人とたずさわって思うのですが、 いつも子供が2人以上の人は、必ず「うちは○人いる」「上の子、下の子など兄弟がいるよ」ということを聞いていないのに会った矢先に言われます。 子供が一人の人は、言いません。 子供の数は、自慢になると思われますか? 私は、子供が多ければ、精神的、体力的、一番は経済的に大変なことも多いと思いますので 数では、自慢にはならないと思うのです。 ただ、昔から聞いていないのに必ず(会ってすぐに)自分から言う人が多いので、自慢気みたいな感じがしてしまいます。 どう思われますか?ご回答をよろしくお願い致します。

  • Excel 10進数と36進数

    例えばA1に10進数で数字を入力したとします。 B1にはそれを36進数で表示させたいのです。 B1に関数を書くとしたら、どのように書けばよろしいのでしょうか? また36進数から10進数にする関数も教えていただけませんしょうか。 以上、みなさまの知恵をお貸しください。 よろしくお願いいたします。