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

文字データを16進数で表現するとき、例えばAは41ですが0x41と表現されているようです。先頭に「0x」と書かれている意味?を教えてください。

●質問者: masashi0316
●カテゴリ:コンピュータ インターネット
✍キーワード:データ 表現 進数
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● KirakiraHikaru
●100ポイント ベストアンサー

16進数であることが判別できるように「0x」と付けています。

(表記法は言語などによって違います)

41だけだと、10進数の41なのか16進数の41(10進数にすると65)なのかが判別できないからです。

http://www.atmarkit.co.jp/icd/root/62/5783562.html


C言語の場合は、下記のようにして各進数を判別できるようにしています。

8進数先頭に「0」を付けて表記(066など)

10進数通常の10進数と同じ表記

16進数先頭に「0x」を付けて表記(0x41など)


x自体は16進法 (hexadecimal number system)=hexのxからきているのだと思います。

最初の0は、パーサ(プログラムを解析する部分)が判別しやすいから0にしたようです。

起源は下記が詳しいです。

http://q.hatena.ne.jp/1149751438

◎質問者からの返答

なーるほど、よくわかりました。ありがとうございます。


2 ● punky99
●70ポイント

文字データに限らないのですが、プログラミング言語では、2進数や10進数、16進数など様々な表記方法の数字が扱われます。これが16進数だ、とプログラミング言語の処理系にわからせるための方法の一つとして、16進数のアタマに0xと付ける場合があります。

単に、41だけだったらそれが何進数の数字なのかわからないですよね?

http://www.atmarkit.co.jp/icd/root/62/5783562.html

◎質問者からの返答

ですね?、納得です。ありがとうございました。

関連質問


●質問をもっと探す●



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