人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ソースプログラムの中でデータを16進数で表す意味を教えて下さい

●質問者: kouhei0702
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● jan8

コンピュータは2進数の世界。10進数より16進数の方が何かと便利だから。
十六進法 - Wikipedia


jan8さんのコメント
「16進数で表す意味」か。意味。 2進数を少ない文字数でコンパクトに表示している。

2 ● JULY

jan8 さんの「少ない文字数で」に補足ですが、単に文字数が少ないだけだったら 10 進数でも文字数は減ります。16 進数にするのは

という関係が、実際に2進数と 16 進数の表記を相互に変換する上で都合が良いからです。

例えば、「10100101」という2進数を 16 進数の表記に変換しようとした場合、4桁ずつの「1010」と「0101」の2つの2進数に分け、それぞれを 16 進数表記(「A」と「5」)にすれば、「A5」が 16 進数表記になる事が分かります。その逆も同じで、16 進数の各桁を2進数にしていけば、全体の2進数表記になります。

しかし、10 進数表記にしようとしたら、まっとうに「1 + 22 + 25 + 27」と計算するしかありません。

プログラム中で、ビット単位の操作を行う場合、上記の 16 進数の性質が便利になります。

「10100101」の、下から数えて5桁目と7桁目ビットを 1 にする場合、「10100101」に対して「01010000」とのビット演算の OR を施せば、「11110101」になりますが、「01010000」を 16 進数で「50」と表記されていれば、5桁目と7桁目が 1 のデータである事は比較的容易に分かります。それに対し、10 進数で 80 と言われても、2進数でどの桁が 1 になっているかは、一見分かりづらいです。8bit のデータの時はまだ良いですが、bit 数が増えれば、その差は歴然としてきます。

この様に、ビット単位での処理を考えたときに、16 進数の方が、

ということになります。逆に、わざわざ 16 進数で書かれていれば、「単なる数の計算ではない」という事を意識しやすくなります。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ