程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言中一些容易被人忽略的東西 之四 [不常見的位域]

C語言中一些容易被人忽略的東西 之四 [不常見的位域]

編輯:關於C語言

大學裡的課程很少有講到位域這麼個東西,甚至是位操作符都沒有重點講。 事實上,位操作在算法優化上是可能起到關鍵性作用的。 & 按位與 | 按位或 ^ 按位異或 ~ 按位取反 << 左移 >> 右移   這些便是六種操作符,那麼什麼是位域呢? 有時候信息的存儲並不需要一個完整的字節,只需要占用幾個甚至一個二進制位。為此,誕生了位域這麼個東西,用來節省存儲空間,簡化數據處理。 定義方法: struct 位域結構名 {位域列表};    如: [cpp]   struct bit {           int   x:8;   //長度為8           int   y:2;   //長度為2           int   z:6    //長度為6      };   如上y,z實際上儲存在一個字節裡,但是一個位域必須儲存在一個字節裡,不能誇字節,如果z的長度為7,那麼z的存儲將會新起一個字節。 也可以自定義新起一個字節,使用空域: [cpp]   int   :0;   www.2cto.com 位域可以無位域名,這樣的位域用來填充或者調整位置,由於沒有名字,無法使用 [cpp]   int   :2;   [cpp]   //使用方法   bit.x=1;   bit.y=1;   bit.z=1;      

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved