首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >java中将布尔数组转换为整数的方法的最快实现

java中将布尔数组转换为整数的方法的最快实现
EN

Stack Overflow用户
提问于 2019-06-26 07:24:51
回答 1查看 2.1K关注 0票数 2

有没有办法可以在速度方面改进这种方法?

static int booleanArrayToInt(boolean[] array) {
    int x = 0;
    int i = 0;
    for (boolean b : array) {
        i++;
        if (b) {
            x = 1;
            break;
        }
    }
    for (int j = i; j < array.length; j++) {
        if (array[j]) x = (x << 1) + 1;
        else x = x << 1;
    }
    return x;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-26 07:51:57

这就是你要的。

      boolean[] bools =
            { true, true, false, false, true, true, false, false, true
            };
        public static int binaryToInt(boolean[] bools) {
          int x = 0;
          for (boolean b : bools) {
             x <<= 1;
             x |= b ? 1
               : 0;
          }
          return x;
        }
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56763230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档