int a=032302;
cout<<a%10<<endl; // output 6
int b=32302;
cout<<b%10<<endl; // output 2
我试图获得单位的数字位置但是在编码时我发现了一个奇怪的东西,第一个和第二个在技术上是相同的,但它们都输出不同的结果。
第一个返回6而第二个返回2,我在这里遗漏了什么吗?
答案 0 :(得分:3)
在c / c ++中用0(零)开始数字意味着它是一个八进制(基数为8)的数字。因此,032302是十进制表示法中的13506。因此,最后一位数字是6,这就是你从模数运算中获得的数字。
答案 1 :(得分:1)
考虑到事实
int a = 032302;
和
int b = 13506;
保持相同的整数值,因为变量 a 是init为八进制文字
然后是正确的
a%10 返回6与 b%10 相同,返回6