JAVA基础 - U4运算符 - 进制

进制

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

  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 BinaryTest{

	public static void main(String[] args){
		
		//二进制,以0b或0B开头
		int n1 = 0b1010;
		//十进制
		int n2 = 1010;
		//八进制,以0开头
		int n3 = 01010;
		//十六进制,以0x或0X开头
		int n4 = 0x10101;

		System.out.println("n1 = " + n1);
		System.out.println("n2 = " + n2);
		System.out.println("n3 = " + n3);
		System.out.println("n4 = " + n4);
	}
}
n1 = 10
n2 = 1010
n3 = 520
n4 = 65793

二进制转十进制

规则:从最低位(右边)开始,将每个位上的数都提取出来,乘以2的(位数-1)次方,然后求和

案例
0b1010 => 0 * 2^0 + 1 * 2^1 + 0 * 2^2 + 1 * 2^3 = 0 + 2 + 0 + 8 = 10
八进制转十进制

规则:从最低位(右边)开始,将每个位上的数都提取出来,乘以8的(位数-1)次方,然后求和

案例
0234 => 4 * 8^0 + 3 * 8^1 + 2 * 8^2 = 4 + 24 + 128 = 156
十六进制转十进制

规则:从最低位(右边)开始,将每个位上的数都提取出来,乘以16的(位数-1)次方,然后求和

案例
0x23A => 10 * 16^0 + 3 * 16^1 + 2 * 16^2 = 10 + 48 +512 = 570

十进制转二进制

规则:将该数不断除以2,直到商0为止,然后将每步得到的余数倒过来,就是对应的二进制

案例
34 => 0B00100010 //还要在前面再补两个位凑成8位

在这里插入图片描述

十进制转八进制

规则:将该数不断除以8,直到商0为止,然后将每步得到的余数倒过来,就是对应的八进制

案例
131 => 0203

在这里插入图片描述

十六进制转八进制

规则:将该数不断除以16,直到商0为止,然后将每步得到的余数倒过来,就是对应的十六进制

案例
237 => 0XED

在这里插入图片描述


二进制转八进制

规则:从低位开始,将二进制每三位为一组,转成对应的八进制即可

案例
0b11010101 => 11(3)010(2)101(5) => 0325
二进制转十六进制

规则:从低位开始,将二进制每四位为一组,转成对应的十六进制即可

案例
0b11010101 => 1101(13)0101(5) => 0xD5

八进制转二进制

规则:将八进制数每一位,转成对应的一个3位的二进制数即可

案例
0237 => 2(010)3(011)7(111) => 0b010011111 => 0b10011111
十六进制转二进制

规则:将十六进制数每一位,转成对应的一个4位的二进制数即可

案例
0x23B = 2(0010)3(0011)B(1011) => 0b001000111011
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值