java - Java 中的位运算 : Test if in "1010101111011" a bit is set?

标签 java bit-manipulation bit

比方说,我有一些用户输入(作为字符串),例如“11010011011”。

现在我想检查是否设置了特定位置的某个位(每个数字都应充当标志)。

注意:我正在接收用户的字符串形式的输入。

我该怎么做?

最佳答案

您可以按原样处理字符串 - 假设您要检查左侧的第一位:

if (input.charAt(0) == '1') { //

或者,如果您想使用 BitSet你可以在循环中初始化它:

String input = "11010011011";
BitSet bs = new BitSet(input.length());
int i = 0;
for (char c : input.toCharArray()) {
    if (c == '1') bs.set(i);
    i++;
}

然后检查第 i 个位是否已设置:

boolean isSet = bs.get(i);

关于java - Java 中的位运算 : Test if in "1010101111011" a bit is set?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13179804/

相关文章:

java - Android 项目中的红色感叹号 - 但它在我的苹果上运行良好

java - 在 GWT 中支持国际化

c - 这个反转位序函数是怎么回事?

c++ - 仅使用位操作反转四分体(nybbles)即可获得镜像十六进制

c++ - "x += x & (-x)"是什么意思?

java - 当我们使用关键字 "throws"时,谁为我们处理异常?

c - 位移大二进制文件?

c++ - 使用 ofstream 将 4 位写入二进制文件

SQL 检查位标志

java - 在 Serialized 接口(interface)下重写 readObject() 和 writeObject() 方法如何在实际开发中找到应用?