2014-03-03 33 views
1

我正在使用cpp编写AVR微控制器。
我的问题是:如何将布尔值转换为位字段c

  • 我有具有2名成员中,每个1个比特的比特字段的结构。
  • 布尔变量的简单结构。

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

+1

小代码示例会有帮助 –

回答

2

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

你可以简单地这样做:

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

,而不必担心铸造或任何东西。任何值得其盐的编译器都可以对其进行非常彻底的优化。