数字上的0x
前缀是什么意思?
const int shared_segment_size = 0x6400;
它来自一个C程序。我不记得它的含义,尤其是这封信的x
含义。
以 开头的文字0x
是十六进制整数。(基地 16)
数0x6400
为25600
。
6 * 16^3 + 4 * 16^2 = 25600
对于包含字母的示例(也用于十六进制表示法,其中 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
表示十六进制(以 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
这是一个十六进制数。
0x6400 转换为 4*16^2 + 6*16^3 = 25600
简单的
它是一个前缀,表示数字是十六进制而不是其他基数。C 编程语言使用它来告诉编译器。
例子 :
0x6400
翻译为6*16^3 + 4*16^2 + 0*16^1 +0*16^0 = 25600.
当编译器读取0x6400
时,它在 0x 术语的帮助下理解数字是十六进制的。通常我们可以通过(6400)16 or (6400)8
或任何基础来理解..
希望以某种方式有所帮助。
再会,
以 开头的数字0x
是十六进制(以 16 为基数)。0x6400
代表25600
。
转换,
因数 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