16進数って実際何に使うんですか?便利なんですか? また、なぜ16なんですか?

数学 | C言語関連3,301閲覧

1人が共感しています

ベストアンサー

5

5人がナイス!しています

ThanksImg質問者からのお礼コメント

ありがとうございます。とても分かりやすいです。

お礼日時:5/17 10:34

その他の回答(8件)

0

他の回答者の回答にあるように,計算機が2進数で計算するからなのですが,なぜ,計算機が2進数を使っているかの理由は知っていますか? 知らないようならば調べてみるとよいと思います. ーーー 10進数で計算する計算機が作られたこともあったようですが普及しませんでした.

1

『コンピューター界隈では使いやすい数とかですか?』 ⇒ はい、コンピュータは演算、データはビットで行います。 よってコンピュータ内部の演算は二進数の演算となるのですが、二進数のままだと画面に表示したときに桁が長すぎる、1 , 0 だけだと実際の値が判りにくいなどの欠点もあります。 そこで16進数にすると二進数4ビット(4桁)が16進数1桁で画面表示され判りやすくなります。 データの容量は関係ありません。 データはビットの On , Off ですから 容量は変わりません。 これを人が読み取るとき(画面に表示するとき)に 二進数のまま表示するよりも16進数で表示した方が視覚的に判りやすいということです。 『なぜ16なんですか?』 英字の文字種類が 256個 あれば足りるからです。 つまり 0000 0000 ~ 1111 1111 であれば キーボードにある 半角の 英大文字、小文字、記号 のすべてが表せます。 0100 0001 は 文字A を表す 0100 0010 は 文字B を表す 0100 0011 は 文字C を表す 0100 0100 は 文字D を表す 0100 0101 は 文字E を表す 0100 0110 は 文字F を表す 0100 0111 は 文字G を表す 0100 1000 は 文字H を表す 0100 1001 は 文字I を表す 0100 1010 は 文字J を表す 0100 1011 は 文字K を表す 0100 1100 は 文字L を表す : しかし、二進数のままだと判りにくいので16進数にして 41 は 文字A を表す 42 は 文字B を表す 43 は 文字C を表す 44 は 文字D を表す 45 は 文字E を表す 46 は 文字F を表す 47 は 文字G を表す 48 は 文字H を表す 49 は 文字I を表す 4A は 文字J を表す 4B は 文字K を表す 4C は 文字L を表す : となります。 https://www.k-cube.co.jp/wakaba/server/ascii_code.html

1人がナイス!しています

0

コンピューターの中の回路は電圧の2値を扱う回路で出来ており、便宜的に2進数を使って表現しています。2進数では桁数が多く成るので、表現するには2進数何桁かを1桁で表現出来る8進数(2進数3桁)や16進数(2進数4桁)の方が良いと考えた訳です。現在のコンピュータは1文字を表現するのに8ビットの1バイトを基本としている物が殆どです、16進数であれば1バイトを2桁で表現出来るので、最近は16進数が多く使われています。コンピューター上は10進数は異端児で、殆どが2進数を基本とした2の何倍かで表現します。

0

10進数で0~9までを1桁で表せるのに対して16進数では15~0を1桁で表せられるので 10進数で255をFFと 3桁から2桁に減らせる 16なのはキリがいいから キリがいいとは2のn乗で 2進数で2を表すなら10 2進数で4は100 8は1000 16は10000 だから 16である10000を16進数で表すと10 16進数の15はFで表現するのだが 2桁の16進数FFは2進数で11111111 となり、桁が全て使える 15進数のEEは2進数で11100000 0の桁は丸々損なので2のn乗 がキリがいいという話