关于C#:使用0x表示法的数字是什么意思?

您所在的位置:网站首页 数字7378是什么意思 关于C#:使用0x表示法的数字是什么意思?

关于C#:使用0x表示法的数字是什么意思?

2024-03-22 14:04| 来源: 网络整理| 查看: 265

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

1const int shared_segment_size = 0x6400;

它来自C程序。 我不记得它的含义,尤其是字母x的含义。

相关讨论 搜索"十六进制表示法" @asawyer谢谢。 在选择十六进制的" 0x"之前,我不知道从哪里搜索。 搜索0x prefix C++现在将您带到这里:)

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

数字0x6400是25600。

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

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

数字0x6BF0是27632。

126 * 16^3 + 11 * 16^2 + 15 * 16^1 = 27632 24576    + 2816      + 240       = 27632 相关讨论 我想知道的是,负数应如何用十六进制表示? 像-0xff或0x-ff? 我想第一个,但我不知道。 @Luc第一个是正确的。 尽管更常见的是0xffffffff之类的。 (0xffffffff = -1对于32位int假设为2s补码) @Luc负数以二进制形式使用2s补码表示(这是一种不需要的巧妙方法),用符号表示。 因此,它基本上是从二进制转换为十六进制,是负数还是正数。 @ShuvoSarker感谢您的加入! 但是,那仅仅是内存表示,我想这与我们是否同意我们拥有一组从0--999的数字和1000--1999代表负数的情况类似。 我的问题是关于人类可读的表示法,尽管知道计算机的工作方式可能会对其他人有所帮助,所以谢谢:)

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

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

因此0x6400 = 0x4000 + 0x2400 = 0x190x400 = 25K

这是一个十六进制数。

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

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

转换,

将最后一位乘以1 将倒数第二位乘以16(16 ^ 1) 加倒数第二位乘以256(16 ^ 2) 加倒数第四位乘以4096(16 ^ 3) ...等等

因子1、16、256等是16的幂。

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

要么

10x6400 = (0*1) + (0*16) + (4*256) + (6*4096) = 25600

简单

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

范例:

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

希望以某种方式有所帮助。

美好的一天,



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3