进制转换

进制

介绍:

对于整数,有四种表示方式:

  • 二进制:0,1 ,满 2 进 1.以 0b0B 开头。
  • 十进制:0-9 ,满 10 进 1。
  • 八进制:0-7 ,满 8 进 1. 以数字 0 开头表示
  • 十六进制:0-9 及 A(10)-F(15),满 16 进 1. 以 0x0X 开头表示。此处的 A-F 不区分大小写

1.进制的转换

  • 计算机基础已学复习即可

2.位运算

java中有7个位运算(&、|、 ^ 、~、>>、<<和 >>>)

  1. 要先得到补码,然后在进行运算

image-20211119163331170

2.1位运算符

  1. 算术右移 >>:低位溢出,符号位不变,并用符号位补溢出的高位
  2. 算术左移 <<: 符号位不变,低位补 0
  3. >>> 逻辑右移也叫无符号右移,运算规则是: 低位溢出,高位补 0
  4. 特别说明:没有 <<< 符

public class BinaryTest{

	public static void main(String[] args){
        
		//>>算术右移低位溢出<<算术左移动,符号位不变,符号位补溢出的高位
		//二进制往后移一位就/2
		//向前移一位就*2
		int a = 1>>2; //1 => 00000001 => 00000000 01 本质1/2/2 = 0
		int c = 1<<2; //1 => 00000001 => 00000100 本质 1*2*2 = 4
		System.out.println("a=" + a);
		System.out.println("b=" + c);
		System.out.println(4<<3);//32
		System.out.println(15>>2);//3
	
	}
}

3.二进制的运算说明

  1. 二进制是逢2进位的进位制,0、1是基本算符

image-20211119161823586

3.1原码、反码、补码

image-20211119162104759

  1. 二进制的最高位是符号位:0表示正数,1表示负数
  2. 正数的原码,反码,补码都一样(三和一
  3. 负数的反码 = 它的原码符号位不变,其他位取反
  4. 负数的补码 = 它的反码+1,负数的反码 = 负数的补码-1
  5. java没有无符号数,换言之,Java中的数都是有符号的
  6. 在计算机运行的时候,都是以补码的方式来运算的
  7. 当我们看运算结果的时候要看他的原码
原文地址:https://www.cnblogs.com/DL50/p/15798750.html