Skip to content

Commit e63b0d9

Browse files
JavaScalaDeveloperJavaScalaDeveloper
authored andcommitted
Changes
1 parent ed9963b commit e63b0d9

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

leetcode/all/java-code.md

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,33 +26,39 @@
2626
}
2727
```
2828
运行结果:1000
29-
###2.二进制转十进制
30-
```
29+
30+
### 2.二进制转十进制
31+
3132
计算也很简单,比如8的二进制表示位00001000,去掉补齐的高位就是1000.此时从个位开始计算2的幂(个位是0,依次往后推)乘以对应位数上的数,然后得到的值想加。
3233
于是有了,(2的0次幂)*0+(2的1次幂)*0+(2的2次幂)*0+(2的3次幂)*1 = 8
3334
代码实现,直接调用Integer.parseInt("",2);
34-
System.out.println(Integer.parseInt("1000",2));
35+
```
36+
System.out.println(Integer.parseInt("1000",2));
3537
```
3638
运行结果:8
37-
###3.位异或运算(^)
39+
40+
### 3.位异或运算(^)
3841
```
3942
运算规则是:两个数转为二进制,然后从高位开始比较,如果相同则为0,不相同则为1。
4043
比如:8^11.
4144
8转为二进制是1000,11转为二进制是1011.从高位开始比较得到的是:0011.然后二进制转为十进制,就是Integer.parseInt("0011",2)=3;
4245
```
43-
###4.位与运算符(&)
46+
47+
### 4.位与运算符(&)
4448
```
4549
运算规则:两个数都转为二进制,然后从高位开始比较,如果两个数都为1则为1,否则为0。
4650
比如:129&128.
4751
129转换成二进制就是10000001,128转换成二进制就是10000000。从高位开始比较得到,得到10000000,即128.
4852
```
49-
###5.位或运算符(|)
53+
54+
### 5.位或运算符(|)
5055
```
5156
运算规则:两个数都转为二进制,然后从高位开始比较,两个数只要有一个为1则为1,否则就为0。
5257
比如:129|128.
5358
129转换成二进制就是10000001,128转换成二进制就是10000000。从高位开始比较得到,得到10000001,即129.
5459
```
55-
###6.位非运算符(~)
60+
61+
### 6.位非运算符(~)
5662
```
5763
运算规则:如果位为0,结果是1,如果位为1,结果是0.
5864
比如:~37

0 commit comments

Comments
 (0)