Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么C++;当我添加前导0';是整数吗?_C++ - Fatal编程技术网

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;