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

回答の条件
  • 1人2回まで
  • 登録:2006/08/26 04:03:39
  • 終了:2006/08/26 06:43:07

ベストアンサー

id:KirakiraHikaru No.1

KirakiraHikaru回答回数354ベストアンサー獲得回数682006/08/26 04:47:27

ポイント100pt

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

id:masashi0316

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

2006/08/26 06:40:33

その他の回答(1件)

id:KirakiraHikaru No.1

KirakiraHikaru回答回数354ベストアンサー獲得回数682006/08/26 04:47:27ここでベストアンサー

ポイント100pt

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

id:masashi0316

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

2006/08/26 06:40:33
id:punky99 No.2

punky99回答回数30ベストアンサー獲得回数12006/08/26 04:48:36

ポイント70pt

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

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

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

id:masashi0316

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

2006/08/26 06:42:24

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません