C語言位操作
在C語言中,可以單獨操控變數的位(bit),一般高階語言不會處理這級別的細節,C在提供高階語言便利的同時,還能為組合語言所保留的級別上工作,這使其成為編寫裝置驅動程式和嵌入式程式碼的首選語言。
二進位制整數(binary)
通常,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語言。一般有三種方式:
- 符號量表示法:用一位儲存符號,剩下的7位表示數字本身。如1000 0001表示-1,0000 0001表示+1。其表示範圍是-127 ~ +127,但是有兩個0:-0和+0,容易混淆。
- 二進位制補碼:最常用,高階位為0則是正,為1則為負。正數的表示和符號量表示法一樣,負數則是正數的反碼+1.如+127為0111 1111,則負數的二進位制補碼為:1000 0001。負數128為1000 0000。正數為0000 0001,-1則表示為1111 1111.該方法可以表示-128至+127.
- 二進位制反碼: 通過反轉位組合中的每一位形成一個負數。如0000 0001表示1,則1111 1110表示-1,只有一個-0:1111 1111.該方法能表示-127至+127 。
八進位制(octal)
每一個八進位制位對應3個二進位制位。
如八進位制 0377,二進位制表示為000 011 111 111
八進位制123,二進位制表示為001 010 011。
十六進位制(hex)
每個十六進位制數用四個二位數表示。
如0xF3,二進位制為1111 0011
0xB9,二進位制為1011 1001 。
相關文章
- C語言 資料的位級表示及操作C語言
- go 語言位操作庫 bitsetGo
- C語言位運算C語言
- C語言-指標操作C語言指標
- C語言檔案操作C語言
- C語言(檔案操作)C語言
- c語言檔案操作相關C語言
- C語言實現出入棧操作C語言
- 關於C語言的位運算子C語言
- C語言 僅用位設定和位清除表示位運算C語言
- C語言學習筆記——位運算C語言筆記
- C 語言位域使用及其注意事項
- C語言實驗——整數位 (sdut oj)C語言
- 關於數位顛倒--C語言描述C語言
- C語言位運算子及常見用法C語言
- C語言第五篇:位運算C語言
- C語言進位制轉換與列印C語言
- c 語言指標操作經典問題指標
- C 語言的 互斥鎖、自旋鎖、原子操作
- C語言函式操作大全----(超詳細)C語言函式
- C語言關於檔案操作的命令C語言
- C語言 C語言野指標C語言指標
- C語言---“C語言 誰與爭鋒?”C語言
- 二進位制列印與逆序_C語言(轉)C語言
- C語言字串操作總結大全(超詳細)C語言字串
- C語言C語言
- C語言的本質(22)——C標準庫之字串操作C語言字串
- C語言十進位制,八進位制,十六進位制輸出分析C語言
- 聊聊C語言/C++—程式和程式語言C語言C++
- 面試挖坑題:之C語言底層操作問題面試C語言
- C語言騷操作:結構體初始化方法C語言結構體
- c語言順序棧常規插入刪除操作C語言
- C語言常用字串操作函式總結C語言字串函式
- linux下c語言學習筆記——操作mysqlLinuxC語言筆記MySql
- 使用C#語言操作ADO資料庫 (轉)C#資料庫
- C語言單向連結串列的增刪操作C語言
- 逍遙自在學C語言 | 位運算子的基礎用法C語言
- 逍遙自在學C語言 | 位運算子&的高階用法C語言