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語言
- C語言字串C語言字串
- C語言(一)C語言
- C語言: returnC語言
- C語言 typedefC語言
- 關於10進位制轉2進位制的C語言程式碼C語言
- Go 語言操作 MySQL 之 CURD 操作GoMySql
- 面試挖坑題:之C語言底層操作問題面試C語言
- 詳解雙向連結串列的基本操作(C語言)C語言
- C語言與嵌入式C語言的區別C語言
- C語言學習方法,怎麼學習C語言?C語言
- go語言與c語言的相互呼叫GoC語言
- C語言位運算子知識總結和例項分析C語言
- C語言02-常量、二進位制、資料型別C語言資料型別
- 逍遙自在學C語言 | 位運算子&的高階用法C語言
- 逍遙自在學C語言 | 位運算子的基礎用法C語言
- 逍遙自在學C語言 | 位運算子^的高階用法C語言
- 1901:The C programming language !(C語言)C語言
- C語言教程——03 C語言結構C語言
- Go 語言操作 MySQL 之 事務操作GoMySql
- 資料結構c語言實現順序表基本操作資料結構C語言
- C語言:extern用法C語言
- C語言版本迭代C語言
- C語言 截圖C語言
- C語言 - 字串拼接C語言字串
- C語言加強C語言
- c語言複習C語言