#include <iostream>using namespace std;int GetDigit(long long n,long long d);//主函数int main( ){ long long aa=12345678LL; //long long bb=aa%(10000);//为什么这样写是对的 long long bb=aa%(10^4);//为什么这样写就是错误的? printf("输出数字%d\n",bb); system("pause"); return 0;}
复制代码
偷懒把10000写成
long long bb=aa%(10^4);//为什么这样写就是错误的?
结果答案就错误了!
请问为什么?
long long bb=aa%(10000);//为什么这样写是对的
这个能输出正确结果
5678
而
long long bb=aa%(10^4);//为什么这样写就是错误的?
这个输出错误结果
2
为什么呢?
如何修改正确呢?
在不修改long long变量类型的情况下,如何把程序搞对?