进制之间的转换

时间:2024-03-16 18:04:48

进制之间的转换

整数常量的表现形式:整数的表现形式主要是以不同的进制(二进制、八进制、十六进制)表现出来。

进制: 十进制(0~9) 、 星期(七进制 0~6)、 小时(12进制 0~11)、 24进制(0~23)

进制:用有限的数字符号代表所有的数值。

一、十进制与二进制之间的转换

电脑记录我们现实生活中的数据都是使用二进制进行记录的。

1.十进制转二进制的:

使用十进制的数据不断用短除法除以2,直到商为0为止。从下往上取余数就是对应的二进制。

10(十进制)-------->1010(二进制)

进制之间的转换

2.二进制转十进制:

使用二进制的每一位乘以2的n次方,n从0开始,每次递增1,然后把各部分的数据相加即可。

1110(二进制) ---------> 14(十进制)

进制之间的转换

二、八进制与十进制之间的转换

八进制的由来:

二进制的弊端: 二进制的书写太长了,不方便人类记忆。
二进制的特点: 由0~1组成。

解决方案:每三个二进制位就记录一个数字,由此产生了八进制。

1000(十进制)------> 001,111,101,000(二进制) = 1,7,5,0

一个八进制的数据就是相当于三个二进制位。

1.十进制转八进制

使用十进制的数据不断除以8,直到商为0为止。从下往上取余数就是对应的八进制。

45(十进制)------> 55 (八进制)

进制之间的转换

2.八进制转十进制

使用八进制的每一位乘以8的n次方,n从0开始,每次递增1,然后把各部分的数据相加即可。

23(八进制)------>19(十进制)

进制之间的转换

三、八进制与二进制之间的转换

**方式一:**先把二进制转成十进制,然后使用十进制转八进制的方法。

**方式二:**利用八进制与二进制之间的关系转换

三个二进制位就是一个八进制数据:

001,011(二进制)=1,3(八进制)

四、十进制与十六进制之间的转换

八进制数据的特点: 只有0~7这八个字符组成的。

十六进制的数据: 0~9,a(10),b(11),c(12),d(13), e(14),f(15);
四个二进制位就是一个十六进制的数据。

十六进制的数据是有0~9、a-f这几个字符组成的。

1.十进制转换成十六进制

使用十进制的数据不断除以16,直到商为0为止。从下往上取余数就是对应的十六进制。

38(十进制)---->26(十六进制)

进制之间的转换

2.十六进制转十进制

使用十六进制的每一位乘以16的n次方,n从0开始,每次递增1,然后把各部分的数据相加即可。

34(十六进制)----->52(十进制)

进制之间的转换

五、十六进制与二进制之间的转换:

四个二进制位就是一个十六进制的数据

1010101010111(二进制)------>1557(16进制)
00001,0101,0101,0111------>1,5,5,7

la(十六进制)------>1,1010(二进制)

全部总结:

进制之间的转换

进制在java中的表示方法:

class Demo{

	public static void main(String[] args){
		/*
		System.out.println(12); //整数常量
		System.out.println(3.14); //小数常量
		System.out.println(false); //布尔常量
		System.out.println('1'); //字符常量
		System.out.println("hello world"); //字符串常量
		如果一个数据没有加上任何的标识之前,默认就是十进制的数据。
		*/
		System.out.println(10);// 十进制
		System.out.println(0b10); //二进制 , 如果一个数据要表示二进制,那么要在该数据的前面加上0b开头。
		System.out.println(010); //八进制数据, 八进制的数据需要以0开头
		System.out.println(0x10); //十六进制数据, 十六进制的数据需要以0x开头
	}
}