将一个十进制转换为二进制,八进制,十六进制

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體:   |    |    |  超大  

packagecom.db2;/*** 将一个十进制转换为二进制,八进制,十六进制

*

*@authordenny

**/publicclassDemo2 {publicstaticvoidmain(String[] args) {

toBin(6);

toBin(-6);

toOct(60);

toOct(-60);

toHex(60);

toHex(-60);

}//转换2进制publicstaticvoidtoBin(intnum) {

toTran(num,1, 1);//1是2进制最大值,二进制只有0,1,1位右移}//八进制publicstaticvoidtoOct(intnum) {

toTran(num,7, 3);//7是2进制最大值,八进制只有0-7最大是7,3位2进制表示一个八进制右移3位}//十六进制publicstaticvoidtoHex(intnum) {

toTran(num,15, 4);//15是十六进制最大值,十六进制只有0-15最大是15,4位2进制表示一个八进制右移4位}//转换函数PRivatestaticvoidtoTran(intnum,intbase,intoffset) {//num要转换的数,求与的数,右移的数char[] ch = { '0','1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };//十六进制元素同时包含2,进制,八进制//存储转换过的数//最大只有32位char[] arr =newchar[32];//定义控制数组的下标intpos =arr.length;//开始转换while(num != 0) {inttemp = num & base;//与位arr[--pos] = ch[temp];//找到并存储num = num >>>offset;

}//输出for(inti = pos; i < arr.length; i++) {

System.out.print(arr[i]);

}

System.out.println();

}

}

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航