关于C#:使用0x表示法的数字是什么意思? |
您所在的位置:网站首页 › 数字7378是什么意思 › 关于C#:使用0x表示法的数字是什么意思? |
数字上的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 |