看板 C_and_CPP 關於我們 聯絡資訊
有一個整數轉bit pattern的問題想問問 這是程式碼 struct unit { unsigned a0:1; unsigned a1:1; unsigned a2:1; unsigned a3:1; unsigned a4:1; unsigned a5:1; unsigned a6:1; unsigned a7:1; }; union unionbit{ int value; struct unit bit; }; int main () { unionbit u; scanf("%d",&u.value); printf("%d%d%d%d%d%d%d%d",u.bit.a7,u.bit.a6,u.bit.a5,u.bit.a4,u.bit.a3,u.bit.a2,u.bit.a1,u.bit.a0); system("pause"); return 0; } 我想問的是 為什麼union裡面直接把struct裡的東西擺進去 而不用struct 出來的答案就不是我要的(亂七八糟的答案) 不是讓int 跟 unsigned 共用address嗎?? 感覺跟再宣告一個struct 擺進去意思一樣阿= = 還有如果我要八個bit 就一定要像上面在struct裡面宣告八個unsigned 嗎 有辦法一行解決嗎? 謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.199.166
EdisonX:明明就是 9 個 unsigned.. 11/13 02:05
honamida:多打一個 抱歉抱歉~ 11/13 02:18
※ 編輯: honamida 來自: 122.117.199.166 (11/13 02:19)
poyenc:http://codepad.org/FN016LXS 11/13 03:31
stimim:http://codepad.org/28aBqWrC 用 C++ 亂寫的 11/13 15:16