a=65535,177777,ffff,65535b=-2,37777777776,fffffffe,4294967294这是我在vs环境下运行你的程序的结果,不一样吧,所以说,像int,uint等等数据占用的字节和范围是随着编译环境的不同而不一样的。你的int值应该是编译的时候分配了2字节,这样只能表示-32768到32767,所以当你用int(也就是d%)表示时,只能显示负数,超出他的表示范围,溢出了。应该用的是turbo c编译器吧?我的vs表示int值是用4字节,所以范围就大很多,这个数字并不会造成我的溢出。正如你所说的,那些是8进制表示和16进制表示,具体进制转换还是建议你自己看看书吧,这一块对于编程挺重要的,所以...
|