補碼的存在是為了變減法為加法,簡化了計算過程,即硬體的設計難度。
首先要知道兩個零是怎麼來的,0包括+0和-0,在原碼和反碼中根據其計算公式,
針對於0原碼有兩種表示形式:
+0:0000 0000
-0: 1000 0000
乙個數如果為正,則它的原碼、反碼、補碼相同。
乙個數如果為負,則符號位為1,其餘各位是對原碼取反,然後整個數加1。
為了簡單起見,我們用1個位元組來表示乙個整數。
0的補碼表示+0的補碼:0000 0000
0的補碼表示-0的補碼:
第一步:1111 1111
第二步+1= 1 0000 0000
第三部:進製1被丟棄,即0000 0000 與+0的補碼相同
1、在計算機系統中,數值一律用補碼來表示(儲存)。
主要原因:
使用補碼,可以將符號位和其它位統一處理;
同時,減法也可按加法來處理。
另外,兩個用補碼表示的數相加時,如果最高位(符號位)有進製,則進製被捨棄。
2、補碼與原碼的轉換過程幾乎是相同的。
核心知識點:
1. 正數的原碼、反碼和補碼都相同;
2. 負數原碼和反碼的相互轉換:符號位不變,數值位按位取反;
3. 負數原碼和補碼的相互轉換:符號位不變,數值位按位取反,末位再加1;
4. 0的補碼表示只有一種。
隨筆 真正的不幸只有一種
我知道你已經歷滄桑,我知道你已步覆維艱,我知道你已悲觀得沒有勇氣證實生活。但是,生活這杯酒,我們還得飲。我曾經聽我的一位命運坎坷的朋友說,不是命運對你不公,當我們老去的時候,當我們面對兒孫講我們的過去的時候,你的故事要比我的長而豐富,這也是一種收穫吧。上帝賦予我們生命的同時亦賦予了我們思想和愛。因為...
計算機為什麼採用補碼的形式儲存資料?
在計算機內部,所有資訊都是用二進位制數串的形式表示的。整數通常都有正負之分,計算機中的整數分為無符號的和帶符號的。無符號的整數用來表示0和正整數,帶符號的證書可以表示所有的整數。由於計算機中符號和數字一樣,都必須用二進位制數串來表示,因此,正負號也必須用0 1來表示。通常我們用最高的有效位來表示數的...
為什麼MVC不是一種設計模式
參考文章 mvc是什麼?mvc全名是model view controller,是模型 model 檢視 view 控制器 controller 的縮寫,一種軟體設計典範,用一種業務邏輯 資料 介面顯示分離的方法組織 將業務邏輯聚集到乙個部件裡面,在改進和個性化定製介面及使用者互動的同時,不需要重新...