我为模糊而道歉,但如果我们提出问题,我们的老师特别告诉我们这样做
我想将9个标志存储为整数
即,0b111111111
将全部绊倒。
现在,如果它被触发,我有一个if语句添加到int。 即。
if (flag0=="tripped" && flag0=="hasn't been tripped before") flagInt += 1;
if (flag1=="tripped" && flag1=="hasn't been tripped before") flagInt += 2;
if (flag2=="tripped" && flag2=="hasn't been tripped before") flagInt += 4;
等等,
我在编写代码时遇到困难,无法检查标志是否已被触发。 我怎么能这样做?
编辑:我已经考虑过将整数转换为它的二进制表示的字符串,所以我可以用括号进行chck,但是我必须对相当多的数据执行此操作,这会使它太慢
答案 0 :(得分:3)
获得位n
状态(将位n返回为0或1):
(value>>n) & 1
设置位n
状态(标志为0或1):
value = (value & ~(1 << n)) | (flag << n)