java自学笔记:四种进制

2023-12-26 07:59:19

四种进制

  1. 二进制:0,1 ,满2进1,以0b或0B开头。
  2. 十进制:0-9 ,满 10 进 1。
  3. 八进制:0-7 ,满 8 进 1. 以数字 0 开头表示。
  4. 十六进制:0-9 及 A(10)-F(15),满 16 进 1. 以 0x 或 0X 开头表示。此处的 A-F 不区分大小写。
public class var01 {

	//编写一个main方法
	public static void main(String[] args) {
		
	//n1 二进制
	int n1 = 0b1010; 
	//n2 10 进制
	int n2 = 1010; 
	//n3 8 进制
	int n3 = 01010;
	//n4 16 进制
	int n4 = 0X10101; 
	System.out.println("n1=" + n1); //n1=10
	System.out.println("n2=" + n2); //n2=1010
	System.out.println("n3=" + n3); //n3=520
	System.out.println("n4=" + n4); //n4=65793
	System.out.println(0x23A);
		}
	}
} 

请添加图片描述
请添加图片描述

1. 其他进制转10进制

2转10
  • 从最低位(右边)开始,将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和
  • 举例:
    请添加图片描述
8转10
  • 从最低位(右边)开始,将每个位上的数提取出来,乘以8的(位数-1)次方,然后求和
  • 举例:
    请添加图片描述
16转10
  • 从最低位(右边)开始,将每个位上的数提取出来,乘以16的(位数-1)次方,然后求和
  • 举例:
    0x23A = 10 * 16^0 + 3 * 16 ^ 1 + 2 * 16^2 = 10 + 48 + 512 = 570
随堂练习
  • 0b110001100 转成 十进制
    0b110001100 = 1 * 2^2 + 1 * 2^3 + 1 * 2^7 + 1 * 2^8 = 4+8+128+256=396
  • 02456 转成十进制
    02456 = 6 * 8^0 + 5 * 8^1+ 4 * 8^2 + 2 * 8^3 = 6+40+256+1024=1326
  • 0xA45 转成十进制
    0xA45 = 5 * 16^0 + 4 * 16^1 + 10 * 16^2 = 5 + 64 +2560=2629

2. 10进制转其他进制【不断/ x 知道为0,余数倒过来就是】

10转2
  • 将该数不断除以 2,直到商为 0 为止,然后将每步得到的余数倒过来,就是对应的二进制。
  • 练习:
    34转2进制 = 0B00100010(不够8位数字,前面补0)

请添加图片描述

10转8
  • 将该数不断除以 8,直到商为 0 为止,然后将每步得到的余数倒过来,就是对应的八进制。
  • 案例:
    131 转成八进制 => 0203
    请添加图片描述
10转16
  • 将该数不断除以 16,直到商为 0 为止,然后将每步得到的余数倒过来,就是对应的十六进制。
  • 案例:
    请将 237 转成十六进制 => 0xED
    请添加图片描述
随堂练习
  • 123 转成 二进制 => 0B001111011
  • 678 转成八进制 => 01246
  • 8912 转成十六进制 => 0x22D0

2进制转其他进制

2转8
  • 低位开始,将二进制数每三位一组,转成对应的八进制数即可。
  • 案例:
  • 请将 ob11 010 101 转成八进制
    ob11(3)010(2)101(5) => 0325
2转16
  • 从低位开始,将二进制数每四位一组,转成对应的十六进制数即可。
  • 案例:
    请将 ob 1101 0101 转成十六进制
    ob1101(D)0101(5) = 0xD5
随堂练习
  • 0b11100101 转成 八进制
    0b11(3)100(4)101(5) = 0345
  • 0b1110010110 转成 十六进制
    0b11(3)1001(9)0110(6)= 0x396

其他进制转2进制

8转2
  • 将八进制数每 1 位,转成对应的一个 3 位的二进制数即可。
  • 案例:
    请将 0237 转成二进制
    02(010)3(011)7(111) = 0b10011111
16转2
  • 将十六进制数每 1 位,转成对应的 4 位的一个二进制数即可。
  • 案例:
    请将 0x23B 转成二进制
    0x2(0010)3(0011)B(1011) = 0b001000111011
随堂练习
  • 请将01230 转成 二进制
    01(001)2(010)3(011)0(000)= 0b001010011000
  • 0xAB29 转成二进制
    0xA(1010)B(1011)2(0010)9(1001)= 0b1010101100101001

文章来源:https://blog.csdn.net/skylar0/article/details/135189402
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。