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;
      }
  • 相关阅读:
    Java基础--线程创建方式
    Java基础--static关键字
    Java基础--异常处理
    mybatis的#{}和${}的区别以及order by注入问题
    前后端分离结构中使用shiro进行权限控制
    Java FTP下载文件
    10个经典智力推理题!据说答对7道,智力在140!
    Java面试题总结之数据结构、算法和计算机基础(刘小牛和丝音的爱情故事1)
    Java面试题总结之JDBC 和Hibernate
    Java面试题总结之数据库与SQL语句
  • 原文地址:https://www.cnblogs.com/super119/p/1924542.html
Copyright © 2011-2022 走看看