使用0x符号的数字是什么意思?
数字上的0x前缀是什么意思?
const int shared_segment_size = 0x6400;
它来自于一个在linux上编写的C程序。 我一直没有处理像0x6400
这样的整数很长时间,不能记得它的含义,尤其是字母x
含义。
以0x
文字是hex整数。 (基地16)
数字0x6400
是25600
。
6 * 16^3 + 4 * 16^2 = 25600
对于包括字母(也用于hex符号,其中A = 10,B = 11 … F = 15)
数字0x6BF0
是27632
。
6 * 16^3 + 11 * 16^2 + 15 * 16^1 = 27632 24576 + 2816 + 240 = 27632
在C语言和基于C语言的语言中,前缀0x
表示hex(基数为16)。
因此,0x400 = 4×(16 2 )+ 0×(16 1 )+ 0×(16 0 )= 4×((2 4 ) 2 )= 2 2 ×2 8 = 2 10 = 1024, 。
所以0x6400 = 0x4000 + 0x2400 = 0x19×0x400 = 25K
干杯&hth。,
这是一个hex数字。
0x6400转换为4 * 16 ^ 2 + 6 * 16 ^ 3 = 25600
简单
这是一个前缀,用于表示数字是以hex表示,而不是其他基数。 C编程语言使用它来告诉编译器。
例如:
0x6400
转换为6*16^3 + 4*16^2 + 0*16^1 +0*16^0 = 25600.
当编译器读取0x6400
,借助0x项理解数字是hex的。 通常我们可以通过(6400)16 or (6400)8
或任何基础了解..
希望以某种方式帮助。
美好的一天,
以0x
的数字是hex(基数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