一、進制互轉
1、二進制和十進制互轉
(1)二 - 十:2的n次方
(2)十 - 二(整數):除2取余,從下到上。
(3)十 - 二(小數):乘2取整,從上到下。
2、二進制和十六進制互轉
(1)二 - 十六:4個1位
(2)十六 - 二:1位4個
3、二進制和八進制互轉
(1)二 - 八:3個1位
(2)八 - 二:1個3位
二、原碼反碼補碼
1、概念
- 原碼:新增最高位為符號位,0正1負,其余位不變。
- 反碼:符號位不變,其余位為原碼取反。
- 補碼:符號位不變,其余位為反碼加一。
2、有符號數加減運算
- (1)先擴位,結果位 = max(a,b)+ 1;
- (2)符號位寫兩遍,數字為變補碼;
- (3)結果值超過的進位舍去;
3、有符號數乘除法運算
- (1)先擴位,結果位 = a + b + 1;
- (2)符號位相與放到最高位;
- (3)數字位進行乘除運算;
a[3:0] + b[3:0] = {a[3] & b[3], a[2:0] * b[2:0]} = c[6:0](位數為3+3+1=7)
三、常見編碼
1、十進制代碼
2、格雷碼(循環碼)
什么是格雷碼?
在一組數的編碼中,若任意兩個相鄰的代碼只有一位二進制數不同,則稱這種編碼為格雷碼(Gray Code),另外由於最大數與最小數之間也僅一位數不同,即“首尾相連”,因此又稱循環碼或反射碼。格雷碼(Gray Code)又稱Grey Code、葛萊碼、格萊碼、戈萊碼、循環碼、反射二進制碼、最小差錯碼等。
為什么要使用格雷碼?
格雷碼是一種具有反射特性和循環特性的單步自補碼,其循環和單步特性消除了隨機取數時出現重大錯誤的可能,其反射和自補特性使得對其進行求反操作也非常方便。格雷碼屬於一種可靠性編碼,它在相鄰間轉換時,只有一位產生變化,它大大減少了一個狀態到另一個狀態時邏輯的混淆,因此格雷碼在通信和測量技術中得到廣泛應用。
格雷碼有哪些特點?
(1)格雷碼具有反射特性;
(2)格雷碼具有循環特性;
(3)格雷碼是一種准權碼;
(4)格雷碼相鄰的碼組間僅有一位不同;
(5)格雷碼從編碼形式上杜絕了邏輯冒險的發生;
(6)卡諾圖是按格雷碼來畫的;
(7)格雷碼不是一種二進制;(易錯)
格雷碼和獨熱碼的區別
獨熱編碼占用較多的位,也就是消耗較多的觸發器,但這些額外觸發器占用的面積可與譯碼電路省下來的面積相抵消。
二進制轉格雷碼
Gray = (bin>>1) ^ bin;(右移一位后和自身異或)
3、ASCII碼
略
4、獨熱碼
下次再寫
參考資料:閻石. 數字電子技術基礎(第5版)[M]. 高等教育出版社, 2006.