永发信息网

int 65536 然后输出一下 为什么结果是零

答案:2  悬赏:0  手机版
解决时间 2021-03-05 01:22
  • 提问者网友:溺爱和你
  • 2021-03-04 16:07
int 65536 然后输出一下 为什么结果是零
最佳答案
  • 五星知识达人网友:忘川信使
  • 2021-03-04 16:28
越界了,超出int型范围
全部回答
  • 1楼网友:蓝房子
  • 2021-03-04 16:46
lz是想实验 short i=65536;printf("%d\n,i);吧 是的话输出结果是0 我看了下反汇编的结果,给你解释下为什么是0吧 65536对应的16进制数十10000h, short i=65536经过汇编之后的结果是 mov [i],10000h i只占16位对应10000h的低16位,最高位的1由于存不下了就自动舍弃掉了,所以i的值为0 不知道其他编译器是不是也是这么处理的,我估计应该差不多, 忘说了,我的ide是vs2010
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯