1. 程式人生 > >【筆記】計算機的運算方法(一)

【筆記】計算機的運算方法(一)

一、有符號數

1.原碼錶示法

  原碼是機器數中最簡單的一種表示形式,符號位為0表示正數,符號位為1表示負數,數值位即為真值的絕對值,故原碼錶示又稱為帶符號的絕對值表示。

  整數原碼的定義為

[x]={0,x2n>x02nx,0x>2n

式中,x為真值,n為整數的位數。

  小數原碼的定義為

[x]={x,1>x01x,0x>1

  當x為0時,[+0.0000]=0.0000[0.0000]=1.0000
  可見原碼中的“零”有兩種表示形式。

2.補碼錶示法

補數的概念

  只要確定了“模”,就可找到一個與負數燈架的整數來代替此負數,這樣就可把減法運算用加法實現。

  • 一個負數可用它的正補數來代替,而這個正補數可以用模加上負數本身求得。
  • 一個正數和一個負數互為補數時,它們絕對值之和即為模數。
  • 正數的補數即該正數本身。

補碼的定義

  整數補碼的定義為

[x]={0,x2n>x02n+1+x,0>x2n(mod2n+1)

  小數補碼的定義為

[x]={x,1>x02+x,0>x1(mod2n+1)

  當x為0時,[+0]=[0]=0.0000,即補碼中的“零”只有一種表示形式。由於補碼中的零隻有一種表示形式,故它比原碼能多表示一個“-1”。

  當模數為4時,形成雙符號位的補碼。這種雙符號位的補碼又稱為變形補碼,它在階碼運算和溢位判斷中有其特殊作用。如x=-0.1001,對mod22而言,[x]=22+x=100.00000.1001=11.0111

  對於負數,由[x][x]和由[x][x]

都可用規則除符號位外,每位求反,末尾加一

  不論真值是正還是負,由[x][x]求都是採用規則連同符號位在內,每位取反,末尾加一

反碼錶示法

  反碼同行用來作為由原碼求補碼或者由補碼求原碼的中間過渡。
  整數反碼的定義為