java基礎--進位制+位運算
阿新 • • 發佈:2022-04-19
進位制+位運算
package week01.進位制and位運算;
public class BinaryTest {
public static void main(String[] args) {
int n1 = 0b1010;//2進位制
int n2 = 01010;//8
int n3 = 1010;//10
int n4 = 0X1010;//16
System.out.println(n1);
System.out.println(n2);
System.out.println(n3);
System.out.println(n4);
//x進位制轉換為10進位制
//公式....
//10進位制轉換x進位制
//輾轉相除法
}
}
![image-20220419165750722](存放typora圖片/image-20220419165750722.png
java中有7個位運算子號(^,&,|,~,<<,>>,>>>)
package week01.進位制and位運算;
public class 原碼反碼補碼 {
public static void main(String[] args) {
int a = 2;
int b = 3;
System.out.println(a & b);
System.out.println(a | b);
System.out.println(a ^ b);
System.out.println(~a);
System.out.println(~b);
}
}
2原碼 00000000 00000000 00000000 00000010
因為2是正數三碼合一
對於2取反
11111111 11111111 11111111 11111101 補碼
這個就變成負數了 補碼 = 反碼 + 1
所以反碼就是
11111111 11111111 11111111 11111100
求出原碼
00000000 00000000 00000000 00000011
就是3
1.正數三碼合一
2.運算用補碼運算
3.負數的時候補碼 = 反碼 + 1;
4.第一位(符號位)0表示整數 1表示負數
5.負數原碼跟反碼,符號位不變,其餘變成相反的
6