原碼

原碼(true form)是一種計算機中對數字的二進制定點表示方法。原碼錶示法在數值前面增加了一位符號位(即最高位為符號位):正數該位為0,負數該位為1(0有兩種表示:+0和-0),其餘位表示數值的大小。

基本介紹

  • 中文名:原碼
  • 外文名:true form
  • 定義:二進制定點表示方法
  • 方法:其餘位表示數值的大小
  • 優點:簡單直觀
  • 缺點:不能直接參加運算
原碼的優點,原碼的缺點,編碼方式,

原碼的優點

簡單直觀;例如,我們用8位二進制表示一個數,+11的原碼為00001011,-11的原碼就是10001011

原碼的缺點

原碼不能直接參加運算,可能會出錯。例如數學上,1+(-1)=0,而在二進制中00000001+10000001=10000010,換算成十進制為-2。顯然出錯了。
原碼原碼
所以原碼的符號位不能直接參與運算,必須和其他位分開,這就增加了硬體的開銷和複雜性
具體定義還分小數和整數:
①小數原碼的定義
[X] =
X( 0≤X <1 )
1- X (-1 < X ≤ 0)
例如: X=+0.1011 , [X]原= 0.1011
X=-0.1011 [X]原= 1.1011
②整數原碼的定義
[X]原 =
X (0≤X <2(n-1))
2(n-1)-X (- 2(n-1) < X ≤ 0)
x為正整數時,[X]原=x;
x為負整數時,[X]原=2的n次方-x;
x為負小數時,[X]原=1-x;
計算機中所有的數均用0,1編碼表示,數字的正負號也不例外,如果一個機器數字長是n位的話,約定最左邊一位用作符號位,其餘n-1位用於表示數值。
在符號位上用"0"表示正數;用"1"表示負數。數值位表示真值絕對值。凡不足n-1位的,小數在最低位右邊加零;整數則在最高位左邊加零以補足n-1位。這種計算機的編碼形式叫做原碼。
記作X=[X]原。例如在字長n=8的機器內:
小數: [+0.1011]原=0.1011000
[-0.1011]原=1.1011000
整數: [+1011]原=00001011
[-1011]原=10001011
代碼中的小數點”.”是在書寫時為了清晰起見加上去的,在機器中並不出現。

編碼方式

原碼是有符號數的最簡單的編碼方式,便於輸入輸出,但作為代碼加減運算時較為複雜。一個字長為n的機器數能表示不同的數字的個數是固定的2^n個,n=8時2^n=256;用來表示有符號數,數的範圍就是-(2^(n-1)-1)~+2^(n-1)-1,n=8是這個範圍就是-127~+127。但是在不需要考慮數的正負時,就不需要用一位來表示符號位,n位機器數全部用來表示是數值,這時表示數的範圍就是0~2^n-1,n=8時這個範圍就是0~255.沒有符號位的數,稱為無符號數。(編輯器無法表示上標下標,可查閱圖片)
原碼原碼
原碼

相關詞條

熱門詞條

聯絡我們