进制转换,体现功能代码复用,查表法等……

 

 

/*	
练习
定义一个功能。
将一个数组中的元素,全部替换成指定元素。

定义一个功能,
将一个数组中部分元素,替换成指定元素。
{3,1,6,8,4}
{0,0,0,0,0,0,0} System.arrayCopy(src,1,dest,2,3){0,0,1,6,8,0,0} 
public static void set(int[] arr,int start,int end,int value)
{
	for(int x=start;x<end; x++)
	{
		arr[x] = value;
	}
}


public static void set(int[] arr,int value)
{
	set(arr,0,arr.length,value);
	
}

*/
class BinaryTest2 
{
	public static void main(String[] args) 
	{
//		toHex(28);
		//toBin(-6);
//		System.out.println(Integer.toBinaryString(-6));
	}

	/*
	十进制转成十六进制。
	*/
	public static void/*String*/ toHex(int num)
	{
		/*return */trans(num,15,4);
	}
	/*
	十进制转成二进制
	*/
	public static void /*String*/toBin(int num)
	{
		/*return */trans(num,1,1);
	}


	/*
	定义一个进制转换功能。
	*/
	private static void /*String*/ trans(int num,int base,int offset)
	{
		if(num==0)
		{
			System.out.println("0");
			return;
		}
		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 >>> offset;
		}
		
		for(int x=pos; x<arr.length; x++)
		{
			System.out.print(arr[x]);
		}

		//return new String(arr,pos,arr.length-pos);
	}
}

你可能感兴趣的:(java)