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
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯