zoukankan      html  css  js  c++  java
  • JAVA byte[], int, long三者之间的相互转换代码

    public final static byte[] getBytes(short s, boolean asc) {
        
    byte[] buf = new byte[2];
        
    if (asc)
          
    for (int i = buf.length - 1; i >= 0; i--) {
            buf[i] 
    = (byte) (s & 0x00ff);
            s 
    >>= 8;
          }
        
    else
          
    for (int i = 0; i < buf.length; i++) {
            buf[i] 
    = (byte) (s & 0x00ff);
            s 
    >>= 8;
          }
        
    return buf;
      }
      
    public final static byte[] getBytes(int s, boolean asc) {
        
    byte[] buf = new byte[4];
        
    if (asc)
          
    for (int i = buf.length - 1; i >= 0; i--) {
            buf[i] 
    = (byte) (s & 0x000000ff);
            s 
    >>= 8;
          }
        
    else
          
    for (int i = 0; i < buf.length; i++) {
            buf[i] 
    = (byte) (s & 0x000000ff);
            s 
    >>= 8;
          }
        
    return buf;
      }
      
    public final static byte[] getBytes(long s, boolean asc) {
        
    byte[] buf = new byte[8];
        
    if (asc)
          
    for (int i = buf.length - 1; i >= 0; i--) {
            buf[i] 
    = (byte) (s & 0x00000000000000ff);
            s 
    >>= 8;
          }
        
    else
          
    for (int i = 0; i < buf.length; i++) {
            buf[i] 
    = (byte) (s & 0x00000000000000ff);
            s 
    >>= 8;
          }
        
    return buf;
      }
      
    public final static short getShort(byte[] buf, boolean asc) {
        
    if (buf == null) {
          
    throw new IllegalArgumentException("byte array is null!");
        }
        
    if (buf.length > 2) {
          
    throw new IllegalArgumentException("byte array size > 2 !");
        }
        
    short r = 0;
        
    if (asc)
          
    for (int i = buf.length - 1; i >= 0; i--) {
            r 
    <<= 8;
            r 
    |= (buf[i] & 0x00ff);
          }
        
    else
          
    for (int i = 0; i < buf.length; i++) {
            r 
    <<= 8;
            r 
    |= (buf[i] & 0x00ff);
          }
        
    return r;
      }
      
    public final static int getInt(byte[] buf, boolean asc) {
        
    if (buf == null) {
          
    throw new IllegalArgumentException("byte array is null!");
        }
        
    if (buf.length > 4) {
          
    throw new IllegalArgumentException("byte array size > 4 !");
        }
        
    int r = 0;
        
    if (asc)
          
    for (int i = buf.length - 1; i >= 0; i--) {
            r 
    <<= 8;
            r 
    |= (buf[i] & 0x000000ff);
          }
        
    else
          
    for (int i = 0; i < buf.length; i++) {
            r 
    <<= 8;
            r 
    |= (buf[i] & 0x000000ff);
          }
        
    return r;
      }
      
    public final static long getLong(byte[] buf, boolean asc) {
        
    if (buf == null) {
          
    throw new IllegalArgumentException("byte array is null!");
        }
        
    if (buf.length > 8) {
          
    throw new IllegalArgumentException("byte array size > 8 !");
        }
        
    long r = 0;
        
    if (asc)
          
    for (int i = buf.length - 1; i >= 0; i--) {
            r 
    <<= 8;
            r 
    |= (buf[i] & 0x00000000000000ff);
          }
        
    else
          
    for (int i = 0; i < buf.length; i++) {
            r 
    <<= 8;
            r 
    |= (buf[i] & 0x00000000000000ff);
          }
        
    return r;
      }
  • 相关阅读:
    Adding Swap Files
    Creating a Swap Partition
    linux删除或隐藏命令历史记录history
    Unix系统解压tar包时出现@LongLink错误
    【白话经典算法系列之十七】 数组中只出现一次的数 其他三次
    MapReduce原理及其主要实现平台分析
    二叉搜索树转换为有序双向链表
    实现O(1)获取最大最小值的栈----java
    对线性回归,logistic回归和一般回归的认识
    SMO优化算法(Sequential minimal optimization)
  • 原文地址:https://www.cnblogs.com/super119/p/1924542.html
Copyright © 2011-2022 走看看