二进制数值转换成十六进制

/**
* 将二进制数值转换成16进制 如1000 得到16进制 8 1111 得到16进制 F
*
* @param binaryValue
* @return
*/
public static String convertBinaryToHex(String binaryValue)
{
StringBuilder res = new StringBuilder();
StringBuilder sb = new StringBuilder(binaryValue);

while (sb.length() % 4 != 0)
{
sb.insert(0, "0");
}
for (int i = 0; i < sb.length() / 4; i++)
{
int start = i * 4;
int end = (i + 1) * 4;
String binValue = sb.substring(start, end);
int binIndex = getIndex(binValue, HEX_BINVALUE);
res.append(HEX_VALUE[binIndex]);
}
return res.toString();
}

/**
* 十六进制(对应二进制值)
*/
private static String[] HEX_BINVALUE = {"0000", "0001", "0010", "0011",
"0100", "0101", "0110", "0111", "1000", "1001", "1010", "1011",
"1100", "1101", "1110", "1111"};

/**
* 十六进制值
*/
private static String[] HEX_VALUE = {"0", "1", "2", "3", "4", "5", "6",
"7", "8", "9", "A", "B", "C", "D", "E", "F"};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值