您的位置:首页 > 其它

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

2012-03-02 17:19 183 查看
/**

* 将二进制数值转换成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"};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: