位定點原碼整數的真值為 -0100011B。
壹:對於正數,原碼和反碼,補碼都是壹樣的,都是正數本身。
對於負數,原碼是符號位為1,數值部分取X絕對值的二進制。
反碼是符號位為1,其它位是原碼取反。
補碼是符號位為1,其它位是原碼取反,未位加1。
也就是說,負數的補碼是其反碼未位加1。
移碼就是將符號位取反的補碼。
二:在計算機中,實際上只有加法運算,減法運算也要轉換為加法運算,乘法轉換為加法運算,除法轉換為減法運算。
三:在計算機中,對任意壹個帶有符號的二進制,都是按其補碼的形式進行運算和存儲的。之所以是以補碼方式進行處理,而不按原碼和反碼方式進行處理,是因為在對帶有符號位的原碼和反碼進行運算時,計算機處理起來有問題。
而按補碼方式,壹方面使符號位能與有效值部分壹起參加運算,從而簡化運算規則。另壹方面使減法運算轉換為加法運算,進壹步簡化計算機中運算器的線路設計。
反碼
反碼通常是用來由原碼求補碼或者由補碼求原碼的過渡碼。整數的反碼定義如圖1中圖3整數反碼定義,小數的定義如圖1中圖4小數反碼定義。根據定義,可以得到機器數的反碼的整數和小數中“0”的表示形式各有2種,“+0”和“-0”不壹樣,以8位機器數為例。
整數的“+0”原碼為0,0000000,反碼為0,0000000;整數的“-0”原碼為1,0000000,反碼為1,1111111;小數的“+0”原碼為0.0000000,反碼為0.0000000;小數的“-0”原碼為1.0000000,小數的“-0”反碼為1.1111111。反碼跟原碼是正數時,壹樣;負數時,反碼就是原碼符號位除外,其他位按位取反。