黑马程序员技术交流社区

标题: 为什么一个数左移31位是一个很大的负数? [打印本页]

作者: 小沈同学    时间: 2015-6-16 12:02
标题: 为什么一个数左移31位是一个很大的负数?
  1. System.out.println(1<<31);
复制代码


这个结果是-2147483648
作者: iFmmer    时间: 2015-6-16 12:23
左移31位的话,移动到符号位上去了。。然后值就是0000......000 取反为1111....1111 于是结果就是能存储的最大的负数-2147483648
作者: guiqulaixi    时间: 2015-6-16 13:23
因为是用补码表示,  这是一种人为规定




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2