用「+」、「-」號加絕對值來表示數值的大小,用這種形式表示的數值在計算機中稱為「真值」
符號數位化後,二進位制數的最高位「0」表示正號,「1」表示負號,用這種形式表示的數值在計算機中稱為「機器數」
在原碼表示中,真值0有兩種不同的表示形式:[+0]原=0000 [-0]原=10000 因此8位原碼能表示的不同資料的個數是2的8次方-1,即127個正數,127個負數,還有0
在補碼表示中,真值0的表示形式是唯一的:[+0]補=[-0]補=0000
原碼<->補碼
1.當x為正數時,補碼=原碼
2.當x為負數時,補碼=原碼除去符號位外的各位求反後再加「1」
原碼<->反碼
1.當x為正數時,反碼=原碼
2.當x為負數時,反碼=原碼除去符號位外的各位求反
bcd碼是用4位二進位制數來表示。4位二進位制數可以組合出16種**,只需要使用其中的10種狀態。常見的bcd碼有8421碼、2421碼和餘3碼
8421碼:用4位表示乙個數,位權從高到低分別為8,4,2,1 不允許出現1010-1111 例如乙個兩位的十進位制數39,它可以表示為(0011 1001)8421
2421碼:用4位表示乙個數,位權從高到低分別為2,4,2,1不允許出現0101-1010 它又是一種對9的自補碼,只要自身按位取反,就能得到改數對9補數的2421碼 例如3的2421碼是0011,3對9的補數是6,而6的2421碼是1100,即將3的2421碼自身按位取反可得到6的2421碼
餘3碼:餘3碼是在8421碼的基礎上加0011形成的,因此每個數都多餘「3」 它也是一種對9的自補碼,不允許出現0000-0010、1101-1111 例如某數在計算機中用餘3碼表示為011110001001,其真值為456
真值與機器數
1.機器數 乙個數在計算機中的二進位制表示形式,叫做這個數的機器數。機器數是帶符號的,在計算機用乙個數的最高位存放符號,正數為0,負數為1 比如 十進位制的數 4,計算機字長為8位,轉換成二進位制就是00000100,如果是 4,就是10000100.那麼這裡的00000100和10000100就是...
計算機中如何表示數字 01機器數與真值
機器數就是數值在計算機中的表示形式,真值則是它在現實中的實際數值。可以這樣簡單的理解。因為計算機只能直接識別和處理用0 1兩種狀態的二進位制形式的資料,所以在計算機中無法按人們的日常書寫習慣用正 負符號加絕對值來表示數值,而與數字一樣採用二進位制 0和1來表示正 負號。這樣在計算機中表示帶符號的數值...
補碼和真值的轉換
補碼和反碼,原碼的差別 補碼的0只有一種表現形式,補碼能比反碼和原碼多表示一位最小負數。例如 機器位數為8位,一位符號位,原碼和反碼的表示範圍為 2的7次方 1到 2的7次方 1,而補碼的表示範圍為 2的7次方到2的7次方 1 不對稱 原因在於 補碼的符號位是參與運算的,原碼和反碼的符號位不參與運算...