表示十六进制或 16 进制的正确方法是在前面加上0x
相反,表示十进制/十进制的正确方法是什么?
答案1
表示十进制/十进制的正确方法是什么?
在数学数字系统中,基数或基数是用于表示位置数字系统中数字的唯一数字(包括零)的数量。例如,对于十进制系统(当今最常用的系统),基数是十,因为它使用从 0 到 9 的十个数字。
在任何位置数字系统中(一元数除外,其基数为 1),数字 x 及其基数 y 通常写为,尽管对于十进制,下标通常是假定的,而不写出,因为这是最常用的表达值的方式。例如,(在十进制系统中)表示数字一百,而(在以 2 为基数的二进制系统中)表示数字四。
来源基数
进一步阅读
答案2
0
和前缀0x
是 C 编程语言表达八进制/十六进制的方式,并且由于 C 的流行和普遍性而变得流行。该惯例本身可能来自早期的语言或惯例。
随着时间的推移,人们使用了各种其他的表达标准。6502 汇编语言以 为前缀,即十六进制$
。在许多 Z80 和早期 x86 汇编语言中,您会看到结尾的H
。BASIC 的一些方言使用&
或类似的&H
。
因此,这将特定于您所使用的编程语言。许多语言,尤其是自 80 年代末以来创建的语言,都使用 C 的标准。在编程语言上下文之外,如果可能造成混淆,您可能应该使用数学符号标准或写一个表示基数的单词(“基数 10”或“十进制”)。
答案3
我真的非常喜欢 Ramhound 评论中的答案。如果您只是不指定基数,则一般假设它是十进制。
如果您想要非常明确,您可以使用 HTML“ 5<SUB>10</SUB>
”(或“ 5<sub>10</sub>
” ,适用于喜欢小写 HTML 的人)将其呈现为“5 10 ”。在文本中,您可以使用“5 base 10”。
请注意,0x 不是指定十六进制的通用方法。0x 前缀由 C 语言以及与 C 类似的其他语言使用。在典型的 x86 汇编中,使用 H 后缀(因此 C 中的 0x768 与 x86 汇编中的 768H 相同)。 嵌入式编程:数字表示 H 后缀代表“Intel 和 TI 汇编语言”。同一网页指出,对于“Freescale 汇编语言”,语法是在前面添加一个美元符号(“ $768
”)。
在所有这些语言(C、英特尔汇编语言和飞思卡尔汇编语言)中,十进制数字的语法只是指定数字,不需要在前面或后面添加特殊文本。
可以使用其他方法(例如,添加下划线后跟基数值,这可能比依赖使用下标字体渲染更容易输入),或者您可以使用在写作/讲座/开始时描述的任何其他自定义方法,但最终,如果您没有指定具体的内容,那么人们将倾向于使用他们的假设。
沟通的一部分就是了解你的受众。(这是基本的沟通理论,不仅限于计算机。)如果你的受众包括一群 C 程序员,那么 0x 就意味着十六进制。如果你的受众不是,那么 0x768 看起来像一个乘法问题,等于零。如果你与一群熟悉特定语法/语言/约定的人互动,那么请使用他们熟悉的内容。
计算机编程的艺术基本上是一种传达您希望计算机做什么的想法的方式。最好的沟通方式通常是使用观众期望的东西。而且,正如您从这里的多条评论中看到的那样,一般的传统是假设进制为 10,除非有迹象(如“0xblah”这样的符号)或其他原因(如上下文)相信进制是其他东西。
再举一个例子:如果我看到 99-10-12-16-23-20,那么我不会自动开始想到“18”。我开始认为它看起来像网卡的 MAC-48 地址,以 IEEE 的 OUI 列表和 Microsoft Windows(而不是 Unix)使用的格式编写……有趣的是它没有完全十六进制的数字。但如果我期望的是网络地址,那么我可能会假设那些可能是十六进制数字。
我见过大学课程的老师有时会想写一堆数字,并且要非常清楚基数。在那些(并不常见)情况下,他们通常会使用下标符号,除非他们知道他们的笔迹很潦草,在这种情况下他们也会添加一些括号,如 DavidPostill 给出的答案所示。