Android学习之byte数组和double类型之间的转换
2019-01-04 15:10
190 查看
在java中,一个byte元素占一个字节,一个double类型数据占8个字节
- double 转 byte数组,代码:
//double转byte数组 double占8字节 , 一个byte占一个字节 public static byte[] DoubleToBytes(double d){ //根据 IEEE 754 浮点“双精度格式”位布局,返回指定浮点值的表示形式,并保留 NaN 值。 Long value = Double.doubleToRawLongBits(d); byte[] b = new byte[8]; for(int i = 0 ; i<8;i++){ b[i] = (byte)((value>>8*i)&0xff); } return b; }
- byte数组转double类型,代码:
//byte数组转double public static double bytesToDouble(byte[] b) { long value = 0; for (int i = 0; i < 8; i++) { value |= ((long) (b[i] & 0xff)) << (8 * i); } // 返回对应于给定位表示形式的 double 值。 return Double.longBitsToDouble(value); }
- 调用以及调用结果:
public static void main(String[] args){ double d = 555.1213213; byte[] b = new byte[8]; b = DoubleToBytes(d); for(int i = 0 ; i< 8 ;i++){ System.out.print(b[i]+" "); } System.out.println(""); //byte数组转hex for(int i = 0 ; i< 8 ;i++){ System.out.print(Integer.toHexString(b[i]&0xff)+" "); } double d2 = bytesToDouble(b); System.out.println(d2); } //结果 119 62 77 119 -8 88 -127 64 (byte转hex显示)77 3e 4d 77 f8 58 81 40 555.1213213
相关文章推荐
- Android学习 之 Bitmap Drawable byte[] 三者之间的转换以及把数组存入数据库及提取数据重新组合成所需对象,如图像
- Android学习 之 Bitmap Drawable byte[] 三者之间的转换以及把数组存入数据库及提取数据重新组合成所需对象,如图像
- Android学习 之 Bitmap Drawable byte[] 三者之间的转换以及把数组存入数据库及提取数据重新组合成所需对象,如图像...
- byte数组转换成double,int ,short类型
- Java基本类型与byte数组之间相互转换
- byte字节数组 转换成double类型
- java数值类型与二进制byte数组之间的转换
- String类型和Byte以及Byte数组之间的转换
- Java中byte数组与short,int,char,long,float,double之间的转换
- Java基本类型与byte数组之间相互转换
- java中byte数组与int类型之间的相互转换(两种方式)
- Java基本类型与byte数组之间相互转换
- Java基本类型与byte数组之间相互转换
- Java 记录java基本类型与Byte数组之间相互转换
- java:多字节数据类型数组(double,float,int,long)数组与byte数组的相互转换
- java中byte数组与int类型之间的相互转换(两种方式)
- java中int类型和byte[]数组之间的转换
- Java基本类型与byte数组之间相互转换
- java Byte和各数据类型(short,int,long,float,double)之间的转换
- Java基本类型与byte数组之间相互转换