b[0]*256*256*256 + b[1]*256*256 + b[2]*256 + b[3]
要信誉,得到答案后给分就行啦。

解决方案 »

  1.   

    应该效率很高的看名字应该是将byte数组转化为int类型的
      

  2.   

    static int byte2int(byte b[]){
        int x= b[3] & 0xff | (b[2] & 0xff) << 8 | (b[1] & 0xff) << 16 | (b[0] & 0xff) << 24;
        return x;
    }warriorwww(战士)说的基本上都是差不多了,真搞不懂怎么会看不懂
    一个byte是有符号8位
    一个int是有符号32位
    简而言之,那么就需要4个byte来拼成一个int,这步应该就明白了吧
    如果还不懂,那么继续看下去
    b[3] & 0xff
    这个其实学过汇编的都知道干吗,现在b[3]成了8位无符号数
    然后这4个byte分别左移0位,8位,16位,24位,然后再或一下
    构成了b[3]b[2]b[1]b[0]这个二进制数。如果还是没明白,那么好好学学微机原理或者汇编这门课
    要知道a & 0xff00之类是干吗的就会明白了好好学好基础课,不然做一辈子钳工
      

  3.   

    哦反了
    是b[0]b[1]b[2]b[3]这个数
    这个人写得不错的
    不过没有检查byte[]的length
    如果写着玩玩无所谓
    最好还是检查一下,不然有的好debug了