C語言位操作

2021-10-09 16:50:30 字數 673 閱讀 9843

在c語言中,可以單獨操控變數的位(bit),一般高階語言不會處理這級別的細節,c在提供高階語言便利的同時,還能為組合語言所保留的級別上工作,這使其成為編寫裝置驅動程式和嵌入式**的首選語言。

通常,1位元組包含8位,c語言用位元組(byte)表示儲存系統字符集所需的大小,從左往右,分別給這8位分別編號7~0,在一位元組中,編號是7的位被稱為高階位,編號為0的位被稱為低階位

該位元組能表達的最大數字:1111 1111,為255,最小值為:0000 0000,為0,所以一位元組可儲存0~255範圍內的數字,總共256個值。或者通過不同的方式解釋位組合,程式可以用1位元組儲存 -128 ~ +127範圍內的整數,總共還是256個值。

通常,unsigned char 用一位元組標識的範圍是0~255,而signed char 表示的範圍是 -128 ~ +127.

如何表示有符號整數取決於硬體本身,而不是c語言。一般有三種方式:

每乙個八進位制位對應3個二進位制位。

如八進位制 0377,二進位制表示為000 011 111 111

八進位制123,二進位制表示為001 010 011。

每個十六進製制數用四個二位數表示。

如0xf3,二進位制為1111 0011

0xb9,二進位制為1011 1001 。

C語言位操作

在電腦程式中,資料的位是可以操作的最小資料單位,理論上可以用 位運算 來 完成所有的運算和操作。一般的位操作是用來控制硬體的,或者做資料變換使用,但是,靈活的位操作可以有效地提高程式執行的效率。c語言提供了位運算的功 能,這使得c語言也能像組合語言一樣用來編寫系統程式。位運算子c語言提供了六種位運算...

c語言位操作

位運算 and與 有一位為0 運算就為0 想獲取高四位,a a 0xf0 簡寫 a 0xf0 清零 一三五七位清零 a a 0x55 檢測位 檢測第三位 a a 0x04 遮蔽高四位,保留低4 位 a a 0x0f 統計2進製a中1的個數 1 include2 int main 3 11 print...

C語言位操作

朱老師物聯網大講堂 學習筆記 1 位與 只有1 1才是1,其餘全是0,位或 只有0 0才是0,其餘全是1,位取反 按位操作,位異或 1 0 1 0 1 1,也就是說相異結果是1,與1異或會取反,與0異或無變化,移位分 左 右 移,物件分 有 無符號數,只說一點 有符號數右移左側補符號位,叫算術移位,...