摘要: 这个从二进制来解释:int 是 32 位,也就是最多能表示长度为 32 位的二进制整数。第一位是符号位,表示正负,0 表示正的,1 表示负的。当首位为 1(为负)时,把所有的位取反(0 变成 1,1 变成 0),然后再 + 1,就是它的正数相反数。short 是 16 位,长度短了,其他和 int 一样的。然后看你的问题,123456 本来是 int,有 32 位,二进制表示为:0000 0000 0000 0001 1110 0010 0100 0000。然后你转成了 short,short 最大 16 位,截取最后 16 位,就是 1110 0010 0100 0000,这个数肯定不是原来 阅读全文
posted @ 2013-10-14 17:12 婷婷玉立的成长之家 阅读(535) 评论(0) 推荐(0) 编辑