2014-03-03 32 views
1

我正在使用cpp編寫AVR微控制器。
我的問題是:如何將布爾值轉換爲位字段c

  • 我有具有2名成員中,每個1個比特的比特字段的結構。
  • 布爾變量的簡單結構。

將值從布爾結構成員傳輸到位字段成員時,是否需要將bool變量轉換爲位字段?
此轉換是否會導致警告,因爲兩者都是1位變量?

+1

小代碼示例會有幫助 –

回答

2

假設您的兩個布爾值是workIsFinishedcustomerIsInsane,並且等效位字段是doneWorkingmadUser

你可以簡單地這樣做:

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

,而不必擔心鑄造或任何東西。任何值得其鹽的編譯器都可以對其進行非常徹底的優化。