【发布时间】:2010-12-22 13:41:19
【问题描述】:
这么久以来,我从未想过要问这个问题;我知道这来自 c++,但它背后的原因是什么:
- 指定十进制数 通常会
- 用前导 0 指定八进制数
- 用前导 0x 指定十六进制数
为什么是 0?为什么是 0x? base-32 有自然的进展吗?
【问题讨论】:
-
它们不在 BCPL 或 B 中。
-
它来自 C,而不是 C++。 C++ 只是保留了它,因为 Stroustrup 不想在 C 和 C++ 之间引入不必要的不兼容性。
-
1976 年,C 中还没有十六进制常量。cs.bell-labs.com/who/dmr/cman.ps