编程语言
首页 > 编程语言> > 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 11111111 11111111 11111101 补码
这个就变成负数了 补码 = 反码 + 1
所以反码就是
11111111 11111111 11111111 11111100
求出原码
  00000000 00000000 00000000 00000011
  就是3
   
1.正数三码合一
2.运算用补码运算
3.负数的时候补码 = 反码 + 1;
4.第一位(符号位)0表示整数 1表示负数
5.负数原码跟反码,符号位不变,其余变成相反的
6
 

标签:11111111,java,进制,--,System,int,println,out
来源: https://www.cnblogs.com/shuangshuangzi/p/16166848.html