我們都知道,在計算機中,資訊以二進位制的形式儲存和運算。而每種資料表示方法都有它的優劣,因此有其不同的適用場合。本文將介紹計算機中幾種不同的資料表示及其相互間轉換真值
真值,顧名思義,就是我們人腦能夠理解和日常中適用的數字;只不過這裡,我們理解成二進位制數。
原碼原碼是幾種編碼之中比較容易理解的——符號位+真值的絕對值;
+
35的原碼 00100011
-35的原碼 10100011
+0.8125的原碼 0.1101000
-0.8125的原碼 1.1101000
總結一下原碼的性質
+
0的原碼 00000000
-0的原碼 10000000
原碼簡單的特性 使得原碼在乘除運算中表現出極大的優勢。
補碼
補碼的引入是為了簡化加減運算尤其是減法運算;補碼引入的條件是模的概念,即乙個數加上模依舊等於這個數,乙個數減去另乙個數等於加上這個數的補數。補碼的定義:對於正數來說,真值即為補碼編碼;
對於定點負數x:補碼等於2+x=2+|x|,即模取2
對於定點負整數:補碼等於2n+x,即模取2n
+
0.8125的補碼 0.1101000
-0.8125的補碼 1.0011000
+35的補碼 00100011
-35的補碼 11011101
總結一下補碼的性質
補碼的引入就是為了方便加減運算尤其是減法運算反碼
反碼不做過多的介紹,因為計算機中並不常用。這裡簡要介紹一下它同其他編碼的轉換。
+
0 反碼 00000000
-0 反碼 11111111
反碼簡單了解即可移碼
移碼常用作浮點數的階碼,在計算機中,常常需要比較兩個數,因此將移碼設計成為編碼能隨著數值的遞增而遞增的編碼。一直覺得編碼這部分是非常難理解的,但是學期末重新聽了老師的課,發現老師講的特別清晰,希望我的這篇博文能夠幫助大家理解編碼,也繼續保持對計算機的熱愛,筆芯
計算機中的資料表示之原碼反碼補碼移碼
暫存器中的每一位均可用來存放數值 n位的服務號數表示範圍 0 2n 1 即全0到全1 假如機器字長16位,無符號數的表示範圍是 0 65535,即就是 16個0 16個1 216 1 65536 1 65535 對於有符號的整數,小數點隱含在數值位的最後面 對於有符號的小數,小數點隱含在符號位的後面...
原碼 反碼 補碼,計算機中負數的表示
原碼 將乙個整數,轉換成二進位制,就是其原碼。如單位元組的5的原碼為 0000 0101 5的原碼為1000 0101。反碼 正數的反碼就是其原碼 負數的反碼是將原碼中,除符號位以外,每一位取反。如單位元組的5的反碼為 0000 0101 5的反碼為1111 1010。補碼 正數的補碼就是其原碼 負...
原碼 反碼 補碼,計算機中負數的表示
原碼 將乙個整數,轉換成二進位制,就是其原碼。如單位元組的5的原碼為 0000 0101 5的原碼為1000 0101。反碼 正數的反碼就是其原碼 負數的反碼是將原碼中,除符號位以外,每一位取反 如單位元組的5的反碼為 0000 0101 5的反碼為1111 1010。補碼 正數的補碼就是其原碼 負...