为什么是0?希望指点一二!

img

65536的十六进制是0x 00 01 00 00(四字节),但是short只有2个字节,只能取低位的两个字节0x00 00,所以结果就是0

因为 65536超出的 short 的赋值范围 ,这个语句是错误的,错误的不就是0吗...

因为内存中65536存储内容的16进制表示为:0x010000,将此值传递给16的i的时候,i接受到0x0000,编译器认为i=0;