如何在c中对布局值进行类型转换

时间:2014-03-03 10:48:02

标签: c++ type-conversion bit-fields

我正在使用cpp编程AVR微控制器 我的问题是:

  • 我有一个位字段结构,有2个成员,每个都是1位。
  • 布尔变量的简单结构。

在将值从布尔结构成员传递到位字段成员时,是否需要将bool变量强制转换为位字段?
这种转换是否会导致警告,因为两者都是1位变量?

1 个答案:

答案 0 :(得分:2)

假设您的两个布尔值为workIsFinishedcustomerIsInsane,等效位字段为doneWorkingmadUser

您可以简单地执行以下操作:

doneWorking = workIsFinished ? 1 : 0;
madUser = customerIsInsane ? 1 : 0;

无需担心铸造或任何这些东西。任何有价值的编译器都能够非常彻底地优化它。