二进制和十六进制相互转换

您所在的位置:网站首页 c字符串转16进制数字 二进制和十六进制相互转换

二进制和十六进制相互转换

2023-07-03 08:04| 来源: 网络整理| 查看: 265

二进制转十六进制 第一种方法是先把二进制转换为十进制,然后十进制再转换为十六进制。十进制转换为二进制或十六进制的方法差不多,给定十进制数m=Hn * 16^n+Hn-1 * 16^(n-1) +……+H1 * 16^1+H0 * 16^0.那么H0=m%16; m/16 = Hn * 16^(n-1)+Hn-1 * 16^(n-2) +……+H1,H1=m/16%16; m/(16^k)= Hn * 16^(n-k)+Hn-1-k * 16^(n-2-k) +……+Hk,Hk=m/(16^k)%16;代码实现

public static String binaryToHex(String binaryString) { StringBuilder re = new StringBuilder(); //先转十进制 int num = Integer.parseInt(binaryString); do { int t = num%16; num/=16; if(t10,B->11,C->12,D->13,E->14,F->15 }while(num!=0); return re.toString(); }

还有一种方法,二进制每四位对应一个十六进制位的数,如0001对应1,1010对应A,可以每次提取四位,然后转换,如果给定的二进制字符串不是4的倍数,可以在字符串前补足0,达到位数是4的倍数。代码如下:

public static String binaryToHex(String binaryString) { String result= ""; String temp = ""; int length = binaryString.length(); int i = length%4; //补足0,达到位数是4的倍数 if(i>0) { for(int j=0;j


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3