File tree Expand file tree Collapse file tree 1 file changed +13
-7
lines changed Expand file tree Collapse file tree 1 file changed +13
-7
lines changed Original file line number Diff line number Diff line change 26
26
}
27
27
```
28
28
运行结果:1000
29
- ###2.二进制转十进制
30
- ```
29
+
30
+ ### 2.二进制转十进制
31
+
31
32
计算也很简单,比如8的二进制表示位00001000,去掉补齐的高位就是1000.此时从个位开始计算2的幂(个位是0,依次往后推)乘以对应位数上的数,然后得到的值想加。
32
33
于是有了,(2的0次幂)*0+(2的1次幂)*0+(2的2次幂)*0+(2的3次幂)*1 = 8
33
34
代码实现,直接调用Integer.parseInt("",2);
34
- System.out.println(Integer.parseInt("1000",2));
35
+ ```
36
+ System.out.println(Integer.parseInt("1000",2));
35
37
```
36
38
运行结果:8
37
- ###3.位异或运算(^)
39
+
40
+ ### 3.位异或运算(^)
38
41
```
39
42
运算规则是:两个数转为二进制,然后从高位开始比较,如果相同则为0,不相同则为1。
40
43
比如:8^11.
41
44
8转为二进制是1000,11转为二进制是1011.从高位开始比较得到的是:0011.然后二进制转为十进制,就是Integer.parseInt("0011",2)=3;
42
45
```
43
- ###4.位与运算符(&)
46
+
47
+ ### 4.位与运算符(&)
44
48
```
45
49
运算规则:两个数都转为二进制,然后从高位开始比较,如果两个数都为1则为1,否则为0。
46
50
比如:129&128.
47
51
129转换成二进制就是10000001,128转换成二进制就是10000000。从高位开始比较得到,得到10000000,即128.
48
52
```
49
- ###5.位或运算符(|)
53
+
54
+ ### 5.位或运算符(|)
50
55
```
51
56
运算规则:两个数都转为二进制,然后从高位开始比较,两个数只要有一个为1则为1,否则就为0。
52
57
比如:129|128.
53
58
129转换成二进制就是10000001,128转换成二进制就是10000000。从高位开始比较得到,得到10000001,即129.
54
59
```
55
- ###6.位非运算符(~)
60
+
61
+ ### 6.位非运算符(~)
56
62
```
57
63
运算规则:如果位为0,结果是1,如果位为1,结果是0.
58
64
比如:~37
You can’t perform that action at this time.
0 commit comments