1.原碼沒有特殊性,是計算機對符號數的一種編碼方式。以計算機字長為限制條件,首位為符號位,剩餘位為真值的絕對值。但是反碼,補碼完全是為了負數所構建的新的編碼方式,減少計算機的電路設計。之所以以一種變扭的規則將正數也囊括在內,我估計完全是為了定義的全面性,即反碼,補碼的概念覆蓋所有的數,只是對正負有不同的定義。如果從乙個從業者的角度來說,壓根就不用管正數的反碼,補碼,沒有實際使用的意義。一定要注意,反碼,補碼對於正數是沒有定義的,
保持其沒有的形式不變。原碼是人用於直接進行的碼制(先區別大小後,再進行計算),在計算機中使用起來不方便。
2.原碼,反碼,補碼三個編碼來說,正數是不用擔心求其真值的。對於負數,這三種碼制關係不斷遞進,編碼的方式也越來越複雜,無論是反碼還是補碼都已很難分辨出負數的真值了,因此,要求負數的真值時,必須將其補碼和反碼退回到原碼,應該說,原碼是最容易判別出真值的,在三種碼制中。
3.解決了正數和負數在不同碼制上的不同規則的問題,還有乙個疑問就是,關於反碼的定義中,要求符號位不懂,轉變剩餘的位,這目前也是個疑點?
4.從碼制的學習或其它的知識點中,有點要明白,首先要非常熟悉所有的的知識點,然後要弄清楚這些知識點背後的原理,為什麼這麼來?這些知識點之間的聯絡是什麼?
5.在眾多的碼制的講解中,都以八位的字長來進行介紹,我之前認為反碼存在的意義單純是為了引入補碼做鋪墊,但是現在看來這個想法是錯誤的,反碼是最初計算機直接用於進行計算的碼制,但是人們發現了問題,補碼是在計算機運算的過程中的改進型。
6.首先, 因為人腦可以知道第一位是符號位, 在計算的時候我們會根據符號位, 選擇對真值區域的加減. (真值的概念在本文最開頭). 但是對於計算機, 加減乘數已經是最基礎的運算, 要設計的盡量簡單. 計算機辨別"符號位"顯然會讓計算機的基礎電路設計變得十分複雜! 於是人們想出了將符號位也參與運算的方法. 我們知道, 根據運算法則減去乙個正數等於加上乙個負數, 即: 1-1 = 1 + (-1) = 0 , 所以機器可以只有加法而沒有減法, 這樣計算機運算的設計就更簡單了.於是人們開始探索 將符號位參與運算, 並且只保留加法的方法。
7.計算機內部是不使用原碼的,因為原碼沒法用於運算。進行過運算後,我們一定要將碼制還原到原碼,這樣就能看清真值的大小。
這篇部落格已經將碼制講解的非常清楚了。
數位電路學習 數制與編碼
數位電路進製與編碼是大學電子電工技術的基礎,進製轉換大家應該很容易回憶起來,主要記住基 表示數的數碼的集合,如十進位制為0 9 基數 集合的大小,如十進位制為10 權等概念以及進製轉換的規律。容易忘記的是編碼,也是本文主要記錄的內容。一 符號數 1.真值 在數值前加 號表示正數 加 號表示負數 2....
數位電路與系統 知識點2
1.格雷碼 特點 任意兩個相鄰的碼之間只有一位不同,在n位格雷碼之間,0和最大數 2n 1 之間也只有一位不同。我猜稱為迴圈碼是因為這種只有一位不同的規則一直在迴圈。我本來的想法是卡諾圖採用的是格雷碼,但是格雷碼的特點中有它不能進行算術運算,格雷碼的每一位的權值是不固定的,是一種無權碼。我猜在卡諾圖...
數位電路與模擬電路的區別
前一段時間群裡有人提出讓我來談談數位電路和模擬電路的區別,這個問題對初學數位電路的人來說很重要,只有把它們區別開來知道它們的異同才能學好數位電路。首先我們要知道的一點是數位電路是模擬電路的基礎上發展起來的,數位電路是以模擬電路為基礎的它們的基礎就是電流和電壓,但它們有著本質的區別。一.在乙個週期內模...