向我解释十六进制'0xf0'中的'x'来自哪里[重复]

Posted

技术标签:

【中文标题】向我解释十六进制\'0xf0\'中的\'x\'来自哪里[重复]【英文标题】:Explain to me where the 'x' in hexadecimal '0xf0' comes from [duplicate]向我解释十六进制'0xf0'中的'x'来自哪里[重复] 【发布时间】:2014-03-12 00:52:17 【问题描述】:

十六进制来自0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

我很困惑'0x0f' 中的'x' 来自哪里。

如果'0x0f' = '0000 1111''15' 为什么不直接写'0f'

很确定这在大多数语言中都是通用的,但如果不是,我正在使用 Java。

谢谢。

【问题讨论】:

它实际上并不是通用的(尽管它很常见)。例如,在某些汇编语言中,您会看到 $1234 这来自C,它也是如此。这称为“十六进制”,您可以使用h,但这与g 非常接近,e 不能使用,因为它已经在十六进制中使用,x 显然不同。 十六进制实际上只有 16 位数字(0-9,A-F),而不是您列出的 17 位。 G 不是十六进制数字。 【参考方案1】:

见JLS:

在十六进制或二进制文字中,整数仅由 0x 或 0b 字符之后和任何类型后缀之前的数字。 因此,下划线可能不会立即出现在 0x 或 0b 之后,或者 在数字的最后一个数字之后。

用于区分碱基。

【讨论】:

【参考方案2】:

这是历史性的,Java 继承了 C 的语法。

x 是区分 0377(例如)和 0x377 所必需的,前者的前导零表示它是八进制(以 8 为基数):

   377 - base 10
  0377 - base 8
 0x377 - base 16

【讨论】:

+1 获得简单的示例答案

以上是关于向我解释十六进制'0xf0'中的'x'来自哪里[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Ipv6属性常规选项中的5个参数是?

ELFHash算法解释

控制步进电机C语言代码解释

有人可以向我解释一下这个 Chunk Size 值吗

Mac OS X 上的 GCC 标志 -Os 来自哪里?

谁能向我解释这段代码?