我知道这不完全是一个编程问题,但它与我的主题有关。你如何在文本中表示不同的数字系统?(通过文本我的意思是能够以适当的速度输入,而不是从另一个程序复制粘贴它。)例如,如果我有一个以 2 为底的数字,我该如何输入它,以便其他人可以理解它是一个以 2 为底的数字。在纸上,您可以执行 (1001)2 之类的操作,其中 2 是一个小索引。您是否必须在 2 之前键入一些特定符号,以便其他人将其理解为下标?(求幂使用符号 ^ 表示。)或者它只是随机的并且其中不存在标准?
问问题
5871 次
5 回答
4
许多编程语言的约定是
0b1001
其中“b”表示二进制。其他约定包括十六进制以 0x 开头,八进制仅以 0(后跟其他数字)开头。
于 2010-09-21T19:39:40.430 回答
3
对于十六进制,您可以在它前面加上0x
.
0xFF
对于二进制,一个0b
0b101
对于八进制,一个0o
0o44
或者,更明确一点?
dec(123)
hex(0AF)
bin(101)
oct(111)
于 2010-09-21T19:44:17.720 回答
2
我看到的约定是,就像插入符号表示上标(对于求幂)一样,下划线表示下标。因此,将示例转换为 ASCII 的最“字面”方式是 1001_2。不过,我同意 JacobM 的观点;0b 前缀是明确的,不太可能被误解。
于 2010-09-21T19:44:43.023 回答
0
我认为这在很大程度上取决于您最终要如何/为什么/要对数据做什么。
对我来说,使用 ^ 是合乎逻辑的,因为它可以快速输入,但是不熟悉该符号的人可能会错误地解释它。
于 2010-09-21T19:33:27.087 回答
0
基础的符号因编程语言而异(正如我在对这个问题的评论中所说的那样)。
- 十进制表示法往往是默认值(没有特定的表示法)。
- 十六进制往往带有前缀
#
or0x
或使用h
后缀:0xA0
,#A0
或A0h
. - 一些语言使用
0
前缀来表示八进制表示法(例如0777
)。 - 二进制符号不太常见(通常使用十六进制,因为它使符号更紧凑,最终使用正确的八位字节填充)。但是,您可以使用
0b1010
or1010b
。同样,这取决于语言以及编译器是否支持它。
以上所有内容都取决于编程语言。如果它只是用于以文本形式编写,那么这些约定中的任何一个都应该这样做。当然,如果你正在写一本书,不要改变你在中间使用的约定......
于 2010-09-21T19:46:01.600 回答