int数据与byte之间的相互转换实现代码

在BMP文件和文件压缩时需要用到的int与byte转换,现将理解的贴出来;

 

主要是要理解;位移等概念 http://baihe747.iteye.com/blog/2078029

 

int转byte;

 

byte转int;

 

/**
 * 字节转成int,int转成字节
 * @author Administrator
 *
 */

public class BytetoInt {

	public static void main(String[] args) {
		BytetoInt nt = new BytetoInt();
		// int转成字节
		byte[] by = { 1, 1, 1, 1 };
		int num = nt.byte2Int(by);
		System.out.println("字节转int:"+num);

		// 字节转成int
		int numint = 16843009;
		byte[] bytes = nt.inttobyte(numint);
		for(int i = 0;i<bytes.length;i++){
		System.out.println("整型转字节 : " + bytes[i]);
		}
	}

byte转int

	/**
	 * byte转int的方法
	 * 
	 * @param by
	 *            字节数组
	 * @return返回字节
	 */
	public int byte2Int(byte[] by) {
		int t1 = by[3] & 0xff;
		int t2 = by[2] & 0xff;
		int t3 = by[1] & 0xff;
		int t4 = by[0] & 0xff;
		int num = t1 << 24 | t2 << 16 | t3 << 8 | t4;
		return num;
	}

 

 //int转byte

	/**
	 * int转字节的方法
	 * 
	 * @param num
	 *            传入的int
	 * @return返回转成字节的数组
	 */
	public byte[] inttobyte(int num) {
		byte b4 = (byte) ((num) >> 24);
		byte b3 = (byte) ((num) >> 16);
		byte b2 = (byte) ((num) >> 8);
		byte b1 = (byte) ((num) >> 0);
		byte[] bytes = { b1, b2, b3, b4 };
		return bytes;
	}

}

 

 

运行结果:

字节转int:16843009

 

整型转字节 : 1

整型转字节 : 1

整型转字节 : 1

整型转字节 : 1

 

你可能感兴趣的:(位移,int转byte,byte转int,基本数据类型的实现)