在 C++ 中,可以用十进制:int x = 158
、八进制:int x = 0236
和十六进制:分配整数int x = 0x9e
。在任何基数中定义int
s 的最简单方法是什么,例如二进制、基数 3、基数 9 等等?是否有标准前缀b101110
,或者过程更复杂?
谢谢。
二进制文字 ( 0b01010110101
) 已在 C++14 中添加。
不支持其他基础,但可以使用用户定义的文字和 constexpr 的模板化原始形式来模拟它们。Andrzej Krzemienski 在这里描述它:https ://akrzemi1.wordpress.com/2012/10/23/user-defined-literals-part-ii/
首先:您的示例没有分配,而是初始化。其次,你将一个表达式分配给一个int
(或者你用一个表达式初始化它)。最后,整型文字(仅在表达式中合法)只能用十进制、八进制或十六进制表示;C语言家族不支持其他任何东西。