JAVA进制转换1

来源:互联网 发布:美丽心灵观后感知乎 编辑:程序博客网 时间:2024/06/06 02:01

//仅作为学习记录

class  ArrayTest{public static void main(String[] args) {int num = 6;System.out.print("toBin(6)=");toBin( num );System.out.print("toBin(60)=");System.out.println(Integer.toBinaryString(60));//调用系统的函数将十进制数直接转换为二进制数System.out.print("toHex(60)=");toHex(60);//3CSystem.out.print("toHexByTable(60)=");toHexByTable(60);}public static void toBin( int num){//将十进制数转换为二进制数StringBuffer sb = new StringBuffer();while(  num > 0 ){sb.append(num%2);num /=2;}System.out.println(sb.reverse());//将存入容器中的字符串逆置}static void toHex( int num){//将十进制数转换为十六进制数StringBuffer sb = new StringBuffer();//for(int x=0; x < 8 ; x++){while( num > 0){int temp = num & 15; //与1111 进行 与 运算if( temp > 9 )//System.out.println( (char)(temp - 10 + 'A'));sb.append((char)(temp - 10 + 'A'));else//System.out.println(temp);sb.append(temp);num = num >>>4; //右移4位}System.out.println(sb.reverse());}//通过查表法public static void toHexByTable( int num ){char []chs ={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F',};char [] arr = new char[8];int pos=0;//来标记有效位while( num > 0){int temp = num & 15;arr[pos++] = chs[temp];num = num >>> 4;}for( int x =pos-1 ; x>=0 ; x--){System.out.print(arr[x]);}System.out.println();}}


原创粉丝点击