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

发布于 2024-12-16 16:47:20 字数 156 浏览 3 评论 0原文

号码上的 0x 前缀是什么意思?

const int shared_segment_size = 0x6400;

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

What does a 0x prefix on a number mean?

const int shared_segment_size = 0x6400;

It's from a C program. I can't recall what it amounts to and particularly what the letter x means.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

云醉月微眠 2024-12-23 16:47:20

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

Literals that start with 0x are hexadecimal integers. (base 16)

The number 0x6400 is 25600.

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

For an example including letters (also used in hexadecimal notation where A = 10, B = 11 ... F = 15)

The number 0x6BF0 is 27632.

6 * 16^3 + 11 * 16^2 + 15 * 16^1 = 27632
24576    + 2816      + 240       = 27632
飘过的浮云 2024-12-23 16:47:20

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

因此,0x400 = 4×(162) + 0×(161) + 0×(160) = 4×(( 24)2) = 22 × 28 = 210 = 1024,或一个二进制 K。

因此 0x6400 = 0x4000 + 0x2400 = 0x19×0x400 = 25K

In C and languages based on the C syntax, the prefix 0x means hexadecimal (base 16).

Thus, 0x400 = 4×(162) + 0×(161) + 0×(160) = 4×((24)2) = 22 × 28 = 210 = 1024, or one binary K.

And so 0x6400 = 0x4000 + 0x2400 = 0x19×0x400 = 25K

东北女汉子 2024-12-23 16:47:20

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 

The numbers starting with 0x are hexadecimal (base 16).0x6400 represents 25600.

To convert,

  • multiply the last digit times 1
  • add second-last digit times 16 (16^1)
  • add third-last digit times 256 (16^2)
  • add fourth-last digit times 4096 (16^3)
  • ...and so on

The factors 1, 16, 256, etc. are the increasing powers of 16.

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

or

0x6400 = (0*1) + (0*16) + (4*256) + (6*4096) = 25600 
尽揽少女心 2024-12-23 16:47:20

这是一个十六进制数。

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

It's a hexadecimal number.

0x6400 translates to 4*16^2 + 6*16^3 = 25600

百善笑为先 2024-12-23 16:47:20

SIMPLE

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

示例:

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

SIMPLE

It's a prefix to indicate the number is in hexadecimal rather than in some other base. The C programming language uses it to tell compiler.

Example:

0x6400 translates to 6*16^3 + 4*16^2 + 0*16^1 +0*16^0 = 25600. When compiler reads 0x6400, It understands the number is hexadecimal with the help of 0x term. Usually we can understand by (6400)16 or (6400)8 or any base.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文