黑马程序员技术交流社区

标题: 有趣的试验:-1的右移 [打印本页]

作者: HiloFeng    时间: 2014-12-16 22:53
标题: 有趣的试验:-1的右移
a=-1<<3;a的值是多少呢?
下面分析一下
-1表示为 1 0000000 00000000 00000000 00000001  //注这是源码;在计算机底层所有数据是以补码存储;转换成反码
             1 1111111 11111111 11111111 11111110   //  -1的反码,+1变成补码
             1 1111111 11111111 11111111 11111111  // -1的补码
  发现一个奇怪的现象:-1的补码全为1, 当向右移动的时候,犹豫-1是个负数,右移最1位,最高位补1,所以这样右移下去,得到的始终是没有发生变化, 所以-1右移多少位其结果都是-1。




作者: lnscore    时间: 2014-12-16 22:55
so easy 不就是-8么




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