144

0x数字の接頭辞はどういう意味ですか?

const int shared_segment_size = 0x6400;

それはCプログラムからのものです。それが何に相当するのか、そして特にその手紙が何を意味するのか思い出せませんx

4

5 に答える 5

142

で始まるリテラル0xは16進整数です。(ベース16)

番号0x640025600です。

6 * 16^3 + 4 * 16^2 = 25600

文字を含む例の場合(A = 10、B = 11 ... F = 15の16進表記でも使用されます)

番号0x6BF027632です。

6 * 16^3 + 11 * 16^2 + 15 * 16^1 = 27632
24576    + 2816      + 240       = 27632
于 2011-11-18T18:10:41.457 に答える
22

CおよびC構文に基づく言語では、接頭辞0xは16進数(基数16)を意味します。

したがって、0x400 = 4×(16 2)+ 0×(16 1)+ 0×(16 0)= 4×((2 42)= 22 × 28 = 2 10 = 1024、または1つのバイナリK

したがって、0x6400 = 0x4000 + 0x2400=0x19×0x400=25K

于 2011-11-18T18:10:37.513 に答える
10

16進数です。

0x6400は、4 * 16 ^ 2 + 6 * 16 ^ 3=25600に変換されます

于 2011-11-18T18:10:55.433 に答える
8

単純

これは、数値が他の基数ではなく16進数であることを示す接頭辞です。Cプログラミング言語は、これを使用してコンパイラーに通知します。

例 :

0x64006*16^3 + 4*16^2 + 0*16^1 +0*16^0 = 25600.コンパイラが読み取る0x6400と、0x項を使用して数値が16進数であることを理解します。通常、私たちはまたは任意のベースで理解することができ(6400)16 or (6400)8ます..

何らかの形でお役に立てば幸いです。

良い一日、

于 2015-06-05T05:56:46.733 に答える
8

で始まる数字0xは16進数(基数16)です。0x6400を表し25600ます。

変換する、

  • 最後の桁に1を掛けます
  • 最後から2番目の桁に16を掛けます(16 ^ 1)
  • 最後から3番目の桁に256を加算(16 ^ 2)
  • 最後から4番目の桁に4096を加算(16 ^ 3)
  • ...等々

因数1、16、256などは、16の累乗です。

0x6400 = (0*1) + (0*16^1) + (4*16^2) + (6*16^3) = 25600 

また

0x6400 = (0*1) + (0*16) + (4*256) + (6*4096) = 25600 
于 2016-05-04T16:46:37.177 に答える