java二进制转换成十六进制

转载 2012年03月28日 22:11:13
public class Test {
	public static void main(String[] args) {
		String hex = "abef";
		int i = Integer.parseInt(hex, 16);
		System.out.println(hex);
		String str = b2h(Integer.toBinaryString(i));
		System.out.println(str);
	}

	static String[] hexStr = { "0", "1", "2", "3", "4", "5", "6", "7", "8",
			"9", "A", "B", "C", "D", "E", "F" };

	public static String b2h(String binary) {
		// 这里还可以做些判断,比如传进来的数字是否都是0和1
		System.out.println(binary);
		int length = binary.length();
		int temp = length % 4;
		// 每四位2进制数字对应一位16进制数字
		// 补足4位
		if (temp != 0) {
			for (int i = 0; i < 4 - temp; i++) {
				binary = "0" + binary;
			}
		}
		// 重新计算长度
		length = binary.length();
		StringBuilder sb = new StringBuilder();
		// 每4个二进制数为一组进行计算
		for (int i = 0; i < length / 4; i++) {
			int num = 0;
			// 将4个二进制数转成整数
			for (int j = i * 4; j < i * 4 + 4; j++) {
				num <<= 1;// 左移
				num |= (binary.charAt(j) - '0');// 或运算
			}
			// 直接找到该整数对应的16进制,这里不用switch来做
			sb.append(hexStr[num]);
			// 这里如果要用switch case来做,大概是这个样子
			// switch(num){
			// case 0:
			// sb.append('0');
			// break;
			// case 1:
			// ...
			// case 15:
			// sb.append('F');
			// break;
			// }
		}
		return sb.toString();
	}
}

Java 二进制与16进制相互转换

1.二进制转16进制 public class Binary2Hex { public static void main(String[] args) { String bString = ...

java 二进制和十六进制的互转

前段时间里项目里用到了2进制和16进制的转换,最开始一直用的包装类型自带的转换方法,类似这样的 十六进制转成十进制 Integer.valueOf("FFFF",16).toString();这...

Java中十进制,二进制,十六进制的相互转换总结

首先,先来理解一些概念,计算机底层使用的数制是二进制,用java编程使用的是十进制,但java底层仍使用二进制。不管任何语言,二进制,十进制,十六进制等都是一样的,我们起码都要了解知道,面试中也会有加...

JAVA实现二进制和16进制之间的互相转换,8进制同理,附带异或操作实现

public static String bin2Hex(String binStr) { int deci = Integer.valueOf(binStr,2); return Integ...

java中进制的转换,Byte与16进制的转换

java中对于进制的转换有很多方式,其中对于常见的基本的二进制 八进制 十进制 十六进制等的转换有对于的包装类实现,不需要通过二外的算法来进行实现,具体如下:        首先关于最简单的二进制转换...
  • hll174
  • hll174
  • 2016年04月05日 23:08
  • 5978

java实现二进制转十六进制

java实现二进制转十六进制

java 中,将Int 或者 byte 数据用二进制或者16进制打印出来

我们想看到byte类型的二进制打印结果,想看到int类型的二进制打印结果,还有16进制的; 如何做呢?这里总结一个小代码,便于以后查询: int 类型,打印成二进制数据 int iV...

java 十进制转换为二进制、八进制和十六进制原理

class ArrayTest { public static void main(String[] args) { // toHex(26);//转化为十六进制 toBinary(-6);//...

java 二进制数据与16进制字符串相互转化

二进制字节和16进制字符串相互转化。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java二进制转换成十六进制
举报原因:
原因补充:

(最多只允许输入30个字)