byteArray转换为double,int

Posted dybk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了byteArray转换为double,int相关的知识,希望对你有一定的参考价值。

  1. /*将int转为低字节在前,高字节在后的byte数组
  2.  
    b[0] = 11111111(0xff) & 01100001
  3.  
    b[1] = 11111111(0xff) & (n >> 8)00000000
  4.  
    b[2] = 11111111(0xff) & (n >> 8)00000000
  5.  
    b[3] = 11111111(0xff) & (n >> 8)00000000
  6.  
    */
  7.  
    public byte[] IntToByteArray(int n) {
  8.  
    byte[] b = new byte[4];
  9.  
    b[0] = (byte) (n & 0xff);
  10.  
    b[1] = (byte) (n >> 8 & 0xff);
  11.  
    b[2] = (byte) (n >> 16 & 0xff);
  12.  
    b[3] = (byte) (n >> 24 & 0xff);
  13.  
    return b;
  14.  
    }
  15.  
    //将低字节在前转为int,高字节在后的byte数组(与IntToByteArray1想对应)
  16.  
    public int ByteArrayToInt(byte[] bArr) {
  17.  
    if(bArr.length!=4){
  18.  
    return -1;
  19.  
    }
  20.  
    return (int) ((((bArr[3] & 0xff) << 24)
  21.  
    | ((bArr[2] & 0xff) << 16)
  22.  
    | ((bArr[1] & 0xff) << 8)
  23.  
    | ((bArr[0] & 0xff) << 0)));
  24.  
    }
  25.  


    1. public static byte[] double2Bytes(double d) {
    2.  
      long value = Double.doubleToRawLongBits(d);
    3.  
      byte[] byteRet = new byte[8];
    4.  
      for (int i = 0; i < 8; i++) {
    5.  
      byteRet[i] = (byte) ((value >> 8 * i) & 0xff);
    6.  
      }
    7.  
      return byteRet;
    8.  
      }
       

      1. public static double bytes2Double(byte[] arr) {
      2.  
        long value = 0;
      3.  
        for (int i = 0; i < 8; i++) {
      4.  
        value |= ((long) (arr[i] & 0xff)) << (8 * i);
      5.  
        }
      6.  
        return Double.longBitsToDouble(value);
      7.  
        }


以上是关于byteArray转换为double,int的主要内容,如果未能解决你的问题,请参考以下文章

将 shortarray 转换为 bytearray 和 bytearray 到 shortarray

Spark:将 bytearray 转换为 bigint

转义命令/ ByteArray转换为可读文本C#

如何将 Int 转换为 ByteArray,然后使用 Kotlin 将其转换回 Int?

随机字节的bytearray转换为灰度图像和BGR图像

如何将 bytearray 转换为 img 标签?