检查UINT8_t值是否为布尔值?

时间:2014-02-17 18:05:12

标签: objective-c boolean conditional-statements uint8t

我有几个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
}

1 个答案:

答案 0 :(得分:1)

您可以绝对使用C中布尔上下文中的任何标量。值0(可由所有标量类型表示)被视为false,任何其他值都被视为true。