优化:十进制转十六进制
来源:互联网 发布:幼儿考级舞蹈软件 编辑:程序博客网 时间:2024/05/20 06:52
第一次优化
去零。主要是优化二进制的0000,当为其时,不在进行运算。
/** * 优化:十进制转十六进制第一次优化 * @author Shoulder * */public class DecimalToHex1 {public static void main(String[] args) {String str_hex = toHex(1987);System.out.println(str_hex);//System.out.println(Integer.toHexString(200));}/** * 十进制转十六进制 * @param num 指定一个int类型的数字,对其进行十进制转十六进制 * @return temp */public static String toHex(int num){int temp = 0;char[] arr = new char[8];//声明数组当容器,存储转换后的十六进制位,为倒序的/* * 逆序输出,怎么去掉前面的0?二进制有效位是带1的,当右移4位后,所有有效位执行完,剩下的0可以不执行,比如3,二进制00000011 * 当右移第一次时,发现后边的全为0,即程序中的num为0,所以我们优化后的判断为num!=0时,由于没有了i,所以我们需声明变量index * 来给arr数组记录值。 *///for(int i=0;i<8;i++)int index = arr.length;while(num!=0){temp = num&15;if(temp>9)arr[--index] = (char)(temp-10+'A');elsearr[--index] = (char)(temp+'0');num = num>>>4;} // System.out.println(index); //将index传过去,从index开始记录即可 return toString(arr,index);}/** * 将字符数组转换为字符串 * @param arr 定义一个char类型的数组 * @return temp 返回字符串类型 *//*public static String toString(char[] arr){String temp = "";for(int i=0;i<arr.length;i++)//将其逆序输出。有空位,怎么去掉?{temp+=arr[i];}return "0x"+temp;}*/ public static String toString(char[] arr,int index) { String temp = ""; for(int i = index;i<arr.length;i++) //将其逆序输出 { temp+=arr[i]; } return "0x"+temp; } }
第二次优化
查表。主要是通过数组char[] chs = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};,根据取出每位的值,和表进行对比,然后输出。
char[] chs = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};char[] arr = new char[8];//声明数组当容器,存储转换后的十六进制位,为倒序的int index = arr.length;while(num!=0){temp = num&15;arr[--index] = chs[temp];//从表查,然后放入数组arr中num = num>>>4;}
0 0
- 优化:十进制转十六进制
- Bailian4003 十六进制转十进制【十六进制】
- 十六进制转十进制
- 十六进制转十进制
- 十进制转十六进制
- hta 十六进制转十进制
- 十进制转十六进制 代码
- delphi 十六进制转十进制
- 十进制转十六进制
- 十六进制转十进制函数
- 十六进制转十进制
- 十进制转十六进制
- 十进制转十六进制方法
- 十进制转十六进制
- 十进制转十六进制
- 十六进制转十进制
- 十进制转十六进制
- 十进制转十六进制
- apt-get update “Hash Sum mismatch”解决方案
- 【Misc】RSA(公钥<=私钥) DES AES
- 王金平:有义务尽快使“立法院”恢复运作
- 减少心理压力的重要办法
- Android拍照并储存 各种方法汇总
- 优化:十进制转十六进制
- android 网络加载图片
- 类
- Android自定义View的实现方法,带你一步步深入了解View(四)
- UVA之1121 - Subsequence
- servlet的生命周期
- UIBarButtonItem按钮
- Tomcat自动更新class类文件
- vector容器与iterator迭代器(转)