C++ 为什么C++;当我添加前导0';是整数吗?
为什么C++ 为什么C++;当我添加前导0';是整数吗?,c++,C++,为什么 cout注意0110是一个: 八进制文字是数字零(0)后跟零个或多个八进制数字(0、1、2、3、4、5、6、7) 这就是为什么在打印时会得到72,这与编译器的正确性不同 如果一个前导零,您的数字将被视为以8为基础,因此0110表示(110)8,等于(72)10 如果您试图编写08,编译器会抱怨它不是有效的八进制数。前导0表示八进制表示的数字。是的,它们是有趣的骨头,是上个世纪发明编程语言的那些家伙……如果你觉得这很有趣,你不会猜到如果你在数字前面加上前缀,不仅仅是0,而是0x,会发生什么
cout注意0110
是一个:
八进制文字是数字零(0)后跟零个或多个八进制数字(0、1、2、3、4、5、6、7)
这就是为什么在打印时会得到72
,这与编译器的正确性不同
如果一个前导零,您的数字将被视为以8为基础,因此0110
表示(110)8,等于(72)10
如果您试图编写08
,编译器会抱怨它不是有效的八进制数。前导0表示八进制表示的数字。是的,它们是有趣的骨头,是上个世纪发明编程语言的那些家伙……如果你觉得这很有趣,你不会猜到如果你在数字前面加上前缀,不仅仅是0,而是0x
,会发生什么。真是一场骚乱@nilcit这会给你带来麻烦吗?它只影响源代码中的数字,而不影响输入。我自负地思考一些事情的方式使使用零填充整数更令人愉快。不幸的是,有些人有点像你,但认为以8为基数计算非常令人愉快的人首先进入了标准委员会。:)半拖拉但值得思考的是:零开始于零。。。幸运的是,两个系统中的0=0。。。
cout << 0110 << endl;