zoukankan      html  css  js  c++  java
  • java 中无符号和有符号int的区别以及byte转int

    一、无符号和有符号的区别

      无符号数中,所有的位都用于直接表示该值的大小。其范围为0-255,

      而有符号位最高位为符号位,所以其范围为 -128-0-127

    二、整形int 和byte 的关系

    1 int =4 byte  1byte=8 bit

    所以int 最大值为2的4*8-1次方 byte 最大值为2的1*8-1 

    三、不同长度字节转int 高字节在前

    public static int bytes2Int(byte[] bytes )
      {
                 //如果不与0xff进行按位与操作,转换结果将出错,有兴趣的同学可以试一下。
                if(bytes.length==1){
                    return bytes[0]&0xff;
                }else if(bytes.length==2){
                    int int1=bytes[1]&0xff;
                    int int2=(bytes[0]&0xff)<<8;
                    return int1|int2;
                }else if(bytes.length==3){
                    int int1=bytes[2]&0xff;
                    int int2=(bytes[1]&0xff)<<8;
                    int int3=(bytes[0]&0xff)<<16;
                    return int1|int2|int3;
                }else if(bytes.length==4){
                    int int1=bytes[3]&0xff;
                    int int2=(bytes[2]&0xff)<<8;
                    int int3=(bytes[1]&0xff)<<16;
                    int int4=(bytes[0]&0xff)<<24;
                    return int1|int2|int3|int4;
                }
    
          return -1;
    
             }
  • 相关阅读:
    java native方法
    linux free命令
    gdb使用
    java锁——wait,notify,synchronized
    java面试——问题回溯
    (转)每天一个linux命令(44):top命令
    java面试——jvm
    java面试——多线程
    数据库面试总结
    CMakeLists.txt使用
  • 原文地址:https://www.cnblogs.com/lufei33180/p/13162264.html
Copyright © 2011-2022 走看看