我正在使用 cpp 对 AVR 微 Controller 进行编程。
我的问题是:
- 我的位域结构有 2 个成员,每个成员 1 位。
- bool 变量的简单结构。
将 bool 结构成员的值传递给位域成员时,是否需要将 bool 变量类型转换为位域成员?
这种转换是否会导致警告,因为两者都是 1 位变量?
最佳答案
假设您的两个 bool 值是 workIsFinished
和 customerIsInsane
,等效的位字段是 doneWorking
和 madUser
.
您可以简单地执行以下操作:
doneWorking = workIsFinished ? 1 : 0;
madUser = customerIsInsane ? 1 : 0;
无需担心类型转换或任何其他东西。任何称职的编译器都能够非常彻底地优化它。
关于c++ - 如何将 bool 值类型转换为 C 中的位字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22144678/