Java教程

java基础--进制+位运算

本文主要是介绍java基础--进制+位运算,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

进制+位运算

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.pngimage-20220419165759935

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 11111101 补码
这个就变成负数了 补码 = 反码 + 1
所以反码就是
11111111 11111100
求出原码
00000000 00000011
    就是3
    
1.正数三码合一
2.运算用补码运算
3.负数的时候补码 = 反码 + 1;
4.第一位(符号位)0表示整数 1表示负数
5.负数原码跟反码,符号位不变,其余变成相反的
6
这篇关于java基础--进制+位运算的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!