int a=032302;
cout<<a%10<<endl; // output 6
int b=32302;
cout<<b%10<<endl; // output 2
我试图获取数字的单位位置,但在编码时我发现了一件奇怪的事情,第一个和第二个 no 在技术上是相同的,但是它们都输出不同的结果。
第一个返回 6 而第二个返回 2 ,我在这里遗漏了什么吗?
最佳答案
在 c/c++ 中以 0(零)开头的数字表示它是八进制(基数为 8)的数字。因此 032302 是十进制的 13506。因此,最后一位数字是 6,这就是您从模数运算中得到的结果。
关于c++ - 相同数的模返回不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43373219/