黑马程序员技术交流社区

标题: 看到的一段代码,不明白什么意思?? [打印本页]

作者: qisikudingcha    时间: 2014-1-21 22:27
标题: 看到的一段代码,不明白什么意思??
  1.         public static void main(String[] args) {
  2.                 int a=1;
  3.                                        
  4.                 System.out.println(~a);//这句话是什么意思??
  5.                 }
  6.         }
复制代码

作者: 付江涛    时间: 2014-1-21 22:37
~        反码          ~6 = -7


000…000110
111…111001  

作者: 孤独的天奇    时间: 2014-1-21 22:42
1的二进制是0000 0001
~1的二进制是1111 1110,结果是-2

综上所述是按位取反的意思
作者: ↑↓ME→←    时间: 2014-1-21 22:59
付江涛 发表于 2014-1-21 22:37
~        反码          ~6 = -7

大神求详解
作者: 付江涛    时间: 2014-1-21 23:06
本帖最后由 付江涛 于 2014-1-21 23:09 编辑
↑↓ME→← 发表于 2014-1-21 22:59
大神求详解

{:3_54:}吾奈小菜,看着那个符号熟悉,翻开笔记找了找才想起来了。毕老师第02天视频里有的。讲解位运算符那课

“位运算符”就是二进制运算的运算符号,

~1  就是取1的二进制值 再取反   二楼已经很详细了吧


作者: ↑↓ME→←    时间: 2014-1-21 23:10
怎么取反啊?
作者: 付江涛    时间: 2014-1-21 23:19
↑↓ME→← 发表于 2014-1-21 23:10
怎么取反啊?

我看的你都申请入学考试了。不会这个都忘了吧?

貌似是最好理解的位运算符了   建议休息休息  明天早上一觉醒来 再来一看  就豁然开朗了
作者: MyFuture    时间: 2014-1-25 14:41
↑↓ME→← 发表于 2014-1-21 23:10
怎么取反啊?

将数字用2进制表示,然后将1变0,将0 变1,位移运算里面的吧




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