氟塑料离心泵www.buybeng.com

jquery教程http://www.software8.co/wzjs/jquery/

java中float与byte[]的互转

起因:想把一个float[]转换成内存数据,查了一下,下面两个方法可以将float转成byte[]。 
方法一 
Java代码:  
  1. import java.nio.ByteBuffer;  
  2. import java.util.ArrayList;  
  3. float buffer = 0f;  
  4. ByteBuffer bbuf = ByteBuffer.allocate(4);  
  5. bbuf.putFloat(buffer);  
  6. byte[] bBuffer = bbuf.array();  
  7. bBuffer=this.dataValueRollback(bBuffer);  
  8.        //数值反传  
  9. private byte[] dataValueRollback(byte[] data) {  
  10.     ArrayList<Byte> al = new ArrayList<Byte>();  
  11.     for (int i = data.length - 1; i >= 0; i--) {  
  12.         al.add(data[i]);  
  13.     }  
  14.     byte[] buffer = new byte[al.size()];  
  15.     for (int i = 0; i <= buffer.length - 1; i++) {  
  16.         buffer[i] = al.get(i);  
  17.     }  
  18.     return buffer;  
  19. }  
方法二 
先用 Float.floatToIntBits(f)转换成int 
再通过如下方法转成byte [] 
参考自站长网http://www.software8.co/wzjs/java/2548.html
Java代码:  
  1. /**
  2.  * 将int类型的数据转换为byte数组 原理:将int数据中的四个byte取出,分别存储 
  3.  *  
  4.  * @param n  int数据 
  5.  * @return 生成的byte数组 
  6.  */  
  7. public static byte[] intToBytes2(int n) {  
  8.     byte[] b = new byte[4];  
  9.     for (int i = 0; i < 4; i++) {  
  10.         b[i] = (byte) (n >> (24 - i * 8));  
  11.     }  
  12.     return b;  
  13. }  
  14. /** 
  15.  * 将byte数组转换为int数据 
  16.  *  
  17.  * @param b 字节数组 
  18.  * @return 生成的int数据 
  19.  */  
  20. public static int byteToInt2(byte[] b) {  
  21.     return (((int) b[0]) << 24) + (((int) b[1]) << 16)  
  22.             + (((int) b[2]) << 8) + b[3];  
  23. }  

posted on 2013-01-11 11:00 你爸是李刚 阅读(1286) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 
<2013年1月>
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

常用链接

留言簿

随笔档案

文章档案

技术网站

行业网站

搜索

最新评论

阅读排行榜

评论排行榜

站长网 氟塑料离心泵 注塑机 液晶广告机