当前位置: 首页 > 面试题库 >

检查标志位java

凌通
2023-03-14
问题内容

我的标志位有问题。我有一个int变量来保存标志。首先,我为该变量设置了一些标志。稍后,我需要检查在该变量中设置了多少个标志。但是我不知道要这么做。


问题答案:

要检查是否设置了位值:

int value = VALUE_TO_CHECK | OTHER_VALUE_TO_CHECK;

if ((value & VALUE_TO_CHECK) == VALUE_TO_CHECK)
{
    // do something--it was set
}

if ((value & OTHER_VALUE_TO_CHECK) == OTHER_VALUE_TO_CHECK)
{
    // also set (if it gets in here, then it was defined in 
    //   value, but it does not guarantee that it was set with
    //   OR without other values. To guarantee it's only this
    //   value just use == without bitwise logic)
}

重要的是要注意,除非将其表示为All或None(并且不要使用按位逻辑进行比较;请使用value == 0),否则不应将其检查值为0,因为any
value & 0始终为0。



 类似资料:
  • 问题内容: 知道Python日志语句存储在哪里的方法是什么? 即如果我这样做: 在哪里可以找到日志文件?另外,当我打电话时: 这与记录器的行为/保存方式有某种关系吗? 问题答案: 该模块使用附加到记录器的处理程序来决定最终存储或显示消息的方式,位置或方式。您可以默认配置为也写入文件。您应该真正阅读过文档,但是如果您将要写入消息的文件的名称调用到哪里(请注意,您必须在调用其他任何文件之前先执行此操作

  • 问题内容: 你是否知道是否可以在Django模板中知道是否设置了TEMPLATE_DEBUG标志? 当我在开发计算机上运行django应用程序时,我想禁用我的Google Analytics(分析)脚本。像{%if debug%}模板标记之类的东西会很完美。不幸的是,我在文档中没有找到类似的东西。 当然,我可以将此标志添加到上下文中,但我想知道是否有更好的方法可以做到这一点。 问题答案: 假如你没

  • 我在教科书上读到... 加减法不能导致溢出。引用一下, “如果一个数字为正数,另一个为负数,则加法后不会发生溢出,因为将正数与负数相加会产生幅值较小(…)的结果。”。 然而,通过经历一些问题,情况似乎并非如此,我想确认我计算的不是错误。 例如,这适用于4位加法减法器,其中M=1(这意味着用B减法),A=0101(5)和B=1010(10)。 通过取B=0110(-10)的2s补码并将数字相加,可以

  • 整个旗帜的事情让我很困惑。网络上的定义看起来很简单。对于这一切,我似乎找不到一个真正合适的解释。 根据它们的定义,-进位:表示无符号整数溢出-溢出:表示有符号整数溢出-零:由零产生的运算-符号:由负数产生的运算 那么下面的句子到底是怎么回事以下说明将设置符号标志:(这里的答案是252不是负数。那么为什么设置符号标志?) > 在8位寄存器中添加7Fh和05h设置溢出标志。(这里的答案是132。它不高

  • 5.2.2 标志位操作指令 标志位操作指令是一组对标志位置位、复位、保存和恢复等操作的指令。 1、进位CF操作指令 、清进位指令CLC(ClearCarry Flag):CF←0 、置进位指令STC(Set CarryFlag):CF←1 、进位取反指令CMC(ComplementCarry Flag):CF←not CF 2、方向位DF操作指令 、清方向位指令CLD(Clear Directio

  • 如何检查字节中的某个位是否被设置?