使用0x表示法的数字是什么意思?

时间:2011-11-18 18:09:34

标签: c integer hex notation

数字上的0x前缀是什么意思?

const int shared_segment_size = 0x6400;

这是来自C程序。我不记得它的含义,特别是字母x的含义。

5 个答案:

答案 0 :(得分:78)

0x开头的文字是十六进制整数。 (基数16)

号码0x640025600

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

对于包含字母的示例(也以十六进制表示法使用,其中A = 10,B = 11 ... F = 15)

号码0x6BF027632

6 * 16^3 + 11 * 16^2 + 15 * 16^1 = 27632
24576    + 2816      + 240       = 27632

答案 1 :(得分:12)

在C和基于C语法的语言中,前缀0x表示十六进制(基数为16)。

因此,0x400 = 4×(16 2 )+ 0×(16 1 )+ 0×(16 0 )= 4 ×((2 4 2 )= 2 2 ×2 8 = 2 10 = 1024,或一个二进制K。

所以0x6400 = 0x4000 + 0x2400 = 0x19×0x400 = 25K

干杯&第h。,

答案 2 :(得分:9)

这是一个十六进制数字。

  

0x6400转换为4 * 16 ^ 2 + 6 * 16 ^ 3 = 25600

答案 3 :(得分:6)

0x开头的数字是十六进制(基数为16)。0x6400代表25600

要转换,

  • 将最后一位数乘以1
  • 添加倒数第二位数16(16 ^ 1)
  • 添加第三位数字乘以256(16 ^ 2)
  • 添加第四位数字时间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 

答案 4 :(得分:4)

<强> SIMPLE

它是一个前缀,表示该数字是十六进制而不是其他一些基数。 C编程语言使用它来告诉编译器。

示例:

0x6400转换为6*16^3 + 4*16^2 + 0*16^1 +0*16^0 = 25600.当编译器读取0x6400时,它在0x term的帮助下理解该数字是十六进制的。通常我们可以通过(6400)16 or (6400)8或任何基础来理解。

希望以某种方式帮助。

美好的一天,