zl程序教程

您现在的位置是:首页 >  Java

当前栏目

第十四届蓝桥杯集训——JavaC组第八篇——进制转换

2023-02-18 15:41:32 时间

第十四届蓝桥杯集训——JavaC组第八篇——进制转换


目录

第十四届蓝桥杯集训——JavaC组第八篇——进制转换

短除法

十进制转二进制示例:

十进制转换二进制

十进制转换八进制

十进制转换十六进制

二进制转十进制

八进制转十进制

十六进制转十进制


进制转换是人们利用符号来计数的方法。进制转换由一组数码符号和两个基本因素“基数”与“位权”构成。基数是指,进位计数制中所采用的数码(数制中用来表示“量”的符号)的个数。位权是指,进位制中每一固定位置对应的单位值。

短除法

我们使用短除法将十进制转换成二进制。

模仿上面十进制按位权展开的方式,把二进制数1011按权展开:

1011=1×2^3+0×2^2+1×2^1+1×2^0=1×8+0×4+1×2+1×1=8+2+1=11 1011=

十进制转二进制示例:

十进制的5转换成二进制: 

被除数

除数

计算过程

余数

次幂

5

2

5/2

2

1

0

2

2

2/2

1

0

1

1

2

1/2

0

1

2

所以十进制的5转换成2进制就是:【101】,那么其它是数同理,例如7就是:【111】。

我们来测试个比较大的数:55

被除数

除数

计算过程

余数

次幂

55

2

55/2

27

1

0

27

2

27/2

13

1

1

13

2

13/2

6

1

2

6

2

6/2

3

0

3

3

2

3/2

1

1

4

1

2

1/2

0

1

5

结果是:110111

十进制转换二进制

十进制转二进制:Integer.toBinaryString(10);

结果:1010 

十进制转换八进制

十进制转八进制:Integer.toOctalString(10);

被除数

计算过程

余数

次幂

55

55/8

6

7

0

6

6/8

0

6

1

结果67。

十进制转换十六进制

十进制转十六进制:Integer.toHexString(10);

被除数

计算过程

余数

次幂

55

55/16

3

7

0

3

3/16

0

3

1

结果:37 

package com.item.action;

public class demo1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//		十进制转二进制
		System.out.println(Integer.toBinaryString(10));
		//		十进制转八进制
		System.out.println(Integer.toOctalString(55));
		//		十进制转十六进制
		System.out.println(Integer.toHexString(10));
	}

}

结果:

1010 67 a 

二进制转十进制

二进制转十进制·valueOf("二进制字符串",2);

System.out.println(Integer.valueOf("110111", 2));

结果:55。

八进制转十进制

八进制转十进制·valueOf("八进制字符串",8);

System.out.println(Integer.valueOf("110111", 2));

结果:55。 

十六进制转十进制

十六进制转十进制·valueOf("十六进制字符串",16);

System.out.println(Integer.valueOf("37",16));

结果:55。