《c语言从入门到精通》看书笔记——第12章 位运算
生活随笔
收集整理的這篇文章主要介紹了
《c语言从入门到精通》看书笔记——第12章 位运算
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、按位運算就是對字節或字中的實際位進行檢測、設置或移位。
位運算符
2、位段的概念與定義
位段類型是一種特殊的結構類型,其所有成員的長度均是以二進制位為單位定義的,結構中的成員被稱為位段。位段定義的一般形式為:
結構 結構名
? ? ? ? ? {
? ? ? ? ? ? ? ?類型?????變量名 1:長度;
? ? ? ? ? ? ? ?類型?????變量名 2:長度;
? ? ? ? ? ? ? ?。。。
? ? ? ? ? ? ? ?類型?????變量名 n:長度;
? ?? ?????}
一個位段必須被說明是int、unsigned或signed中一種。
如:
struct packed_data
{
unsigned a:2;
unsigned b:1;
unsigned c:1;
unsigned d:2;
}data;
這里的a.b.c.d分別占2位,1位,1位,2位。
3、位段的相關說明
(1)因為位段類型是一種結構類型,所以位段類型和位段變量的定義,以及對位段(即位段類型中的成員)的引用均與結構體變量相同。
(2)某一位段要從另一個字節開始存放,則在中間加一句“unsigned :0;”
(3)可以使各個位段占滿一個字節也可以不占滿一個字節。若不占滿一個字節在末尾加上“int i;”即可。
(4)一個位段必須存儲在一個存儲單元(通常為一個字節)中,不能跨兩個存儲單元。如果本單元不夠容納某個位段,則從下一單元開始存儲該位段。
(5)可以用“%d”、“%x”、“%u”、“%o”等格式字符,以整數形式輸出位段。
(6)在數值表達式中引用位段時,系統自動將位段轉換為整形數。
總結
以上是生活随笔為你收集整理的《c语言从入门到精通》看书笔记——第12章 位运算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《c语言从入门到精通》看书笔记——第11
- 下一篇: 远近旋转球体