首页

java用查表法进行进制转换

java

2020-8-21

用查表法进行进制转换

class ConverseDemo
{
	public static void main(String[] args)
	{
		toHex(60);
		toBin(6);
		toOct(18);
	}
	public static void toBin(int num)
	{
		trans(num, 1, 1);
	}
	public static void toOct(int num)
	{
		trans(num, 7, 3);
	}
	public static void toHex(int num)
	{
		trans(num, 15, 4);
	}
	public static void trans(int num, int base, int movBit)
	{
		char[] chs = {'0','1','2','3',
					'4','5','6','7',
					'8','9','A','B',
					'C','D','E','F'};//生成表
		char[] arr = new char[32];//创建用来存储生成的进制数的数组
		int pos = arr.length;
		while(num != 0)//移位到零结束循环
		{
			int temp = num & base;//与进制的模值,获得该进制下最后一位的数值
			arr[--pos] = chs[temp];//查表并将结果赋值给存储数组
			num = num >>> movBit;//移位操作
		}
		for(int i = pos; i < arr.length; i  )
		{
			System.out.print(arr[i]);
		}
		System.out.println();
	}

}
资源下载此资源下载价格为2D币(VIP免费),请先
资源文件列表
ConverseDemo.java , 893
没有账号? 忘记密码?

社交账号快速登录