c - 存储整数中的零并在以后使用它们

标签 c

我有 3 个传感器,每个传感器提供 0 或 1(在循环中重复)。它们单独存储为 int 变量。然后使用以下内容打印这些内容:

print ("%d%d%d", Sensor1, Sensor2, Sensor3);

我想暂时存储每个组合(例如:010、001、110 等),以便我可以用它做其他事情(我想有一个开关或最终可以做不同操作的东西,具体取决于传感器组合的值)。我不能将它存储为 int,因为它会将 0 放在前面。

如何存储这些组合?

最佳答案

您可以使用结构bit field为了这。

struct Bit{
    bool Sensor1 : 1;
    bool Sensor2 : 1;
    bool Sensor3 : 1;
};

int main(void)
{
    struct Bit bit = {0, 1, 0};
    printf ("%d%d%d", bit.Sensor1, bit.Sensor2, bit.Sensor3);
}

关于c - 存储整数中的零并在以后使用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26311126/

相关文章:

c - 引用和清理 fork 进程共享的内存

c - 将值放入c中的数组中

c - 如何将可变数量的参数传递给 sscanf?

c - malloc 的指针将自身重置为 NULL?

c++ - 在函数中声明静态变量有什么用?

C程序按钮长按持续计数

c - C 中的 token 粘贴不清楚

c - 如何在 C 中将多个字符串值存储到一个字符串中?

c - 操作函数中的整数数组时发生堆栈粉碎错误

c - “功能”: cannot convert from 'double' to 'wchar_t *'