【发布时间】:2015-01-16 21:11:54
【问题描述】:
我用java把一个长整数y复制成一个短整数x:
long y = 40002;
short x = (short) y;
System.out.println("x now equals " + x);
结果是:x 现在等于 -25534。
我试图弄清楚 40002 是如何转换为 -25534 的,但我失败了。 40002对应1001 1100 0100 0010,-25534对应1110 0011 1011 1110。有朋友能告诉我这个过程发生了什么吗?非常感谢!
【问题讨论】:
-
2^16-40002=25534:)