• ベストアンサー

コンピューターで扱う、2進数について

コンピューターは0と1しか理解できず、 つまりそれは2進数で、それを4桁に区切って16進に変換して表現することが多いと思います。 今ふと思ったのですが、 何故16進なのでしょうか? 例えば3桁区切りで8進、5桁区切りで32進、 ではいけなかったのでしょうか? 例えばIPアドレスなんかも16進2桁ですよね? 2進の4桁+4桁ですよね。 単純にそう言う風に決めてしまったということなのでしょうか?

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

  • ベストアンサー
回答No.4

マイクロコンピュータのバス幅が最初は4ビットから 始まったので、そのビット数から16進数になったと思いますが・・・・。(4004) じゃあ、なぜ4ビットだったのかというと、#2の方が指摘されるように「10以上をカウントできる最小のビット数だから」だと思います。

azicyan
質問者

お礼

バス幅4ビットと言うのを決めたのは、 「10以上をカウントできる最小のビット数だから」 ということですよね? 自分の考えていた答えが、当たらずも遠からずで、良かったです! 回答ありがとうございました!

その他の回答 (4)

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.5

昔は8進数の計算機もありましたが16進数にかわってしまいました。 10に近くて一番小さい16進数が採用されたのでしょう。 2^(2^2)が16と言うのも関係あるかもしれません。

azicyan
質問者

お礼

解答ありがとうございました!

  • elmclose
  • ベストアンサー率31% (353/1104)
回答No.3

今は、16進数があたりまえになってしまいましたが、以前は結構8進数も使われていました。8進数ですと、A~Fの文字を使わずに数字だけで表現できますから。 今のコンピュータは1バイトが8ビットで、4ビット+4ビットで書き表し易いから16進数が多用されるというのはあると思います。(No.1さんが書いている通り)。 32進数ですと、数字10字の他に何か文字を22種類も使わなくてはならず、人間が覚えにくいというのと、やはり5桁区切りにしても中途半端という理由もあると思います。

azicyan
質問者

補足

32だと文字が多すぎるな、ということも思いました。 1バイトと言うのは、 8ビット区切りで扱いやすいから単位として後から作られたものですよね? じゃあなんで4ビット区切りなんだろう、という疑問が湧いてしまいましたのです。 人から聞かれたらなんて答えればいいのかなって・・・。 32だと多すぎ、8だと少ないから、 と言う理由でよろしいでしょうか?

  • JUN-2
  • ベストアンサー率26% (360/1349)
回答No.2

10進数の0~9を表すには、最低4ビット必要なためだと思います。 TTL ICだけで組んだデジタル時計や電卓の表示回路を考えてみて下さい。 昔は、8進数も使われたようですが。(オクテットというのがその名残?ですね)

azicyan
質問者

お礼

>10進数の0~9を表すには、最低4ビット必要なためだと思います。 なるほどです! 私の考えとしては、通常使う10進に近い数字を選んだ? と思いました。 8進だと生活で通常使う10進より少ないから使わないのかな?と思いました。 オクテットですね。化学構造でありますよね。 化学構造…と言うと、やはり何か、理由があるのかなあ・・・ 回答ありがとうございました

回答No.1

単純に8ビットの単位を区切るのに4桁ずつ区切る方が都合がよいからなのでは。

azicyan
質問者

補足

すみません。 そもそも、8ビット区切りなのは何故なのでしょうか?