• ベストアンサー

16進数を表す0xって何?

16進数を表す0xって何? 多くのプログラム言語で16進数を表す接頭語として0xが使われますが、これって何かの省略なのでしょうか? お教え願います。

  • Ruby
  • 回答数2
  • ありがとう数28

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

  • ベストアンサー
  • YUI_AI
  • ベストアンサー率45% (303/661)
回答No.2

下記URL等を参照してみて下さい。 http://q.hatena.ne.jp/1149751438 要は、アセンブラがバイナリコードに変換する時点の解析処理で最初に文字がくると、文字か数値かの判断に手間がかかるから数値と判断しやすいように「0」を付けてるようです。

yu090jp
質問者

お礼

なるほど。ありがとうございます!

その他の回答 (1)

  • YUI_AI
  • ベストアンサー率45% (303/661)
回答No.1

下記URLを参照して下さい。 http://ja.wikipedia.org/wiki/16%E9%80%B2%E6%95%B0 16進数 → x・h 10進数 → d 8進数 → o 2進数 → b それぞれ意味があります

yu090jp
質問者

お礼

ありがとうございます。 16はheXadecimalから取ってたんですね。参考までにまとめます。 16 => he'x'adecimal 10 => 'd'ecimal 8 => 'o'ctadecimal 2 => 'b'it(binary digit) あまり重要じゃないのですが、0xの0って何でしょうかね?構文解析器が数値と変数を間違えないための接頭語でしょうか?それかdecimalを0と表記しているだけでしょうか? もしご存知でしたらお教え願います。

関連するQ&A

  • 2進数から10進数へ変換

    C言語で、2進数から10進数に変換するプログラムを作ろうと思っています。 手計算で行う場合は2進数の 下1桁目×1 下2桁目×2 下3桁目×4。。。と計算しています。 下○桁目を取り出す方法を考えているのですが、思いつきません。 3桁の2進数を変換するプログラム(とりあえず101を変換することを考えて・・・)を書いてみたのですが、101を考えすぎたためか上手くいきませんでした。 最終的には10進数でintの範囲内程度の2進数の変換ができるプログラムを書きたいと思っています。 アドバイスをお願いします。 ちなみに、考えてみたプログラムは以下の通りです。 101以外で上手く変換できませんね・・・ ここに貼り付けるのが恥ずかしいです。 #include <stdio.h> main() { int x ,i ,z[3]; scanf("%d",&x); z[0]=x/100*4; z[1]=(x/10-10)*2; z[2]=(x-110)*1; printf("%d",z[0]+z[1]+z[2]); return 0; }

  • アセンブリ言語について調べていたら、 0x8BEC

    アセンブリ言語について調べていたら、 0x8BECというのを機械語だと説明している動画がありました https://www.youtube.com/watch?v=8EcHs4UGgMc&t 機械語は0と1 もしくは0と1を16進数で表すものですよね? 0x8BEC これも機械語なんですか?

  • xは自然数で1≦x≦100とする、√24xが整数となるような自然数xは

    xは自然数で1≦x≦100とする、√24xが整数となるような自然数xは全部で何個あるか求めなさい。 このもんだいの式のたてかた教えてください。

  • 2進数表現を16進数であらわす・・・?

    大抵の言語では数値の(ディスプレイへの)出力において、 8進数・10進数・16進数で表示できますが 2進数での数値の出力は対応していないと思います。 そこで、2進数表現での一桁を16進数で表すことにしました。 8bitの2進数を32bitの16進数で表すわけです。 例:x=0xAC → 0x10101100 (((x&0x80)<<21)|((x&0x40)<<18)| ((x&0x20)<<15)|((x&0x10)<<12)| ((x&0x08)<<9)|((x&0x04)<<6)| ((x&0x02)<<3)|(x&0x01)) ここで質問なのですが、 10進表現での1桁を4桁の2進数で表したものが、「2進化10進数」 では、上記のような表現方法は「16進化2進数」と呼んでも差し支えないのでしょうか? 英語だとHexadecimal-coded binary "HCB"でしょうか? 呼び名に誤りがあれば、なんと呼んだらしっくりくるでしょう?

  • 素数判定について

    C言語で、 素数を判定するのに、全ての素数で割ることによって 判定するプログラムって、どのように作ればいいんでしょうか?それを線形リストを使えっていってもわかりません。 全ての数で順に割っていって割りきれた数が割られた数と同じなら素数で、それ以外なら素数ではないというプログラムならできるんですけど。。。

  • 10進数を2進数に変換するには・・・

    前にも質問された方がいらっしゃるかもしれないですが検索してもわからなかったのでお願いします。 C言語で10進数を2進数に変換するためにはprintf文を使用して表すことはできないですよね?どうすればよいですか? 例えば10進数である214を2進数の11010110というのに変換したい場合プログラムではどのようになるのでしょうか? 基本的なことですみませんがお願いします。

  • 外人は「数の数え方」が苦手なんですか?

    例えば…。 1 = いち = ひとつ = いっぽん 2 = に = ふたつ = にほん 3 = さん = みっつ = さんぼん 4 = よん(し) = よっつ = よんほん 5 = ご = いつつ = ごほん 6 = ろく = むっつ = ろっぽん 7 = なな(しち) = ななつ = ななほん 8 = はち = やっつ = はちほん 9 = きゅう(く) = ここのつ = きゅうほん 10 = じゅう = とお = じゅっぽん 知り合いの外人に日本語の難しい所を聞いた所、「数の数え方が多くて混乱する」と言ってました。 特に「○本(ほん、ぼん、ぽん)」のように、数字によって細かく言い方が分かれるとわからないらしいです。 英語なら「one,two,three」、ドイツ語なら「eins,zwei,drei」、スペイン語なら「uno,dos,tres」…あとは「first,second,third」ぐらい? 数を数えるだけでこんなに細かく分かれているのは日本語だけだ、と言われました。 日本人にとってはさも当たり前でしたが、多くの外人は日本の数の数え方に苦労してるんでしょうか? 私は外国語に明るい訳ではありませんが、日本語ほど細かく分かれてる言語はないのですか?

  • ある条件を満たすとき、xは素数と言えるか?その2

    下の二つの条件を満たすxが素数である事を証明する方法を教えてください。 ・xは正の整数である。 ・xの素因数は全てx/2よりも大きい

  • ある条件を満たすとき、xは素数と言えるか?

    下の二つの条件を満たすxが素数である事を証明する方法を教えてください。 ・xは正の整数である。 ・xの素因数は全て√xよりも大きい

  • c言語 最大公約数

    C言語のプログラムについてです。 2つの正の整数x,y(任意)の最大公約数、最小公倍数を求めるプログラムを作ってください。(それぞれ、1個ずつ) ただし、関数は使わないでください。#include<stdio.h>のみ 回答よろしくお願いいたします。

専門家に質問してみよう