我有几个UINT8_T值,我可能会在这里感到困惑,但我可以将它们的值用作目标C中的条件语句吗?所以如果我有00000001那么bool digitalOutput1应该设置为true?
对不起,如果不清楚...请随时要求澄清。
我如何遍历UINT8_T对象是这样的:
uint8_t value = input.value; //This is a value from an outside source
for(UISwitch *temp in switchArrayIn){
temp.on = (value & 1)
value >>= 1;
}
所以我将每一位向下移动以检查每个值是否为1或0,如果它在开关输出上有1次开启;如果没有 - 关掉它。
基本上我要问的是,我是否正在遍历一个分配了值的UINT8_T变量/实例,无论是什么。与布尔值相比,我可以将它用作条件语句吗?即;
bool test = TRUE;
uint8_t = 00000001;
for(int i = 0; i<7; i++){
if(test == (value & i)){
// do something
}
答案 0 :(得分:1)
您可以绝对使用C中布尔上下文中的任何标量。值0(可由所有标量类型表示)被视为false,任何其他值都被视为true。