数据在内存中以二进制存放,如果你的系统 int 是两个字节的,那么溢出的数只有其低两个字节被存放到内存。
在输出时按是否最高位为1而分为负数和正数,然后按补码----原码转换得到的结果输出。
你的题目应该输出:2825 吧。我的机 int 是4个字节的,我试不了。
说实话,你的几个贴的问题都是提得不清不楚的,先学会如何提问。
晕死了,看来高手没有在我还是到别的论坛看吧,连版主都是这么烂的
int main(void) { int a,b;
a=652535; b= 652535%65536; printf("%d\n",a); /*2825*/ printf("%d",b); /*2825*/ }