int、char、double与byte相互转换的程序

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

int、char、double与byte相互转换的程序

//整数到字节数组的转换

public static byte[] intToByte(int number) {

int temp = number;

byte[] b=new byte[4];

for (int i=b.length-1;i-1;i--){

b[i] = new Integer(temp&0xff).bytevalue();//将最高位保存在最低位

temp = temp 8; //向右移8位

}

return b;

}

//字节数组到整数的转换

public static int byteToInt(byte[] b) {

int s = 0;

for (int i = 0; i

if (b[i] = 0)

s = s + b[i];

else

s = s + 256 + b[i];

s = s * 256;

}

if (b[3] = 0) //最后一个之所以不乘,是因为可能会溢出

s = s + b[3];

else

s = s + 256 + b[3];

return s;

}

//字符到字节转换

public static byte[] charToByte(char ch){

int temp=(int)ch;

byte[] b=new byte[2];

for (int i=b.length-1;i-1;i--){

b[i] = new Integer(temp&0xff).bytevalue();//将最高位保存在最低位

temp = temp 8; //向右移8位

}

return b;

}

//字节到字符转换

public static char byteToChar(byte[] b){

int s=0;

if(b[0]0)

s+=b[0];

else

s+=256+b[0];

s*=256;

if(b[1]0)

s+=b[1];

else

s+=256+b[1];

char ch=(char)s;

return ch;

}

//浮点到字节转换

public static byte[] doubleToByte(double d){

byte[] b=new byte[8];

long l=Double.doubleToLongBits(d);

for(int i=0;i

b[i]=new Long(l).bytevalue();

l=l8;

}

return b;

}

//字节到浮点转换

public static double byteToDouble(byte[] b){

long l;

l=b[0];

l&=0xff;

l=((long)b[1]

l&=0xffff;

l=((long)b[2]

l&=0xffffff;

l=((long)b[3]

l&=0xffffffffl;

l=((long)b[4]

l&=0xffffffffffl;

l=((long)b[5]

l&=0xffffffffffffl;

l=((long)b[6]

l=((long)b[7]

return Double.longBitsToDouble(l);

}

--

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航