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