題組內容

四、利用 C 語言的語法,定義下列資料型態:

⑵ Structures BitCard 包含三個 unsigned bit 欄位(fields),換言之,face, suit, color 的長 度分別是 4, 2 及 1 bits。(6 分)

詳解 (共 3 筆)

佳佳
佳佳
詳解 #6213063
2024/09/19
struct BitCard{ uns...
(共 87 字,隱藏中)
前往觀看
114年高考上榜
114年高考上榜
詳解 #5737761
2023/03/05

struct BitCard {

    unsigned face : 4;
    unsigned suit : 2;
    unsigned color : 1;
};
hchungw
hchungw
詳解 #6144673
2024/06/26
說明
結構體定義:
c
複製程式碼
struct BitCard {
    unsigned int face : 4;  // 4 位元欄位
    unsigned int suit : 2;  // 2 位元欄位
    unsigned int color : 1; // 1 位元欄位
};
這段程式碼定義了一個結構體 BitCard,包含三個 unsigned int 位欄位。每個欄位的位長度分別是 face(4 位元)、suit(2 位元)和 color(1 位元)。
宣告和使用結構體變數:
c
複製程式碼
struct BitCard card;
宣告了一個 BitCard 結構體變數 card。
設置欄位值:
c
複製程式碼
card.face = 10; // 設置面值為 10
card.suit = 3;  // 設置花色為 3
card.color = 1; // 設置顏色為 1
打印欄位值:
c
複製程式碼
printf("Face: %u\n", card.face);
printf("Suit: %u\n", card.suit);
printf("Color: %u\n", card.color);
注意事項
位欄位的定義使用了 : n 的語法,其中 n 是位欄位的寬度。
位欄位必須是整數類型(通常使用 unsigned int)。
設置位欄位時,請確保所賦的值在對應位欄位的範圍內。例如,4 位元欄位的範圍是 0 到 15。