[問題] UNION
看板C_and_CPP (C/C++)作者honamida (honamida)時間14年前 (2011/11/13 01:46)推噓0(0推 0噓 4→)留言4則, 4人參與討論串1/2 (看更多)
有一個整數轉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
→
11/13 02:05, , 1F
11/13 02:05, 1F
→
11/13 02:18, , 2F
11/13 02:18, 2F
※ 編輯: honamida 來自: 122.117.199.166 (11/13 02:19)
→
11/13 03:31, , 3F
11/13 03:31, 3F
→
11/13 15:16, , 4F
11/13 15:16, 4F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章