計算機基礎_Day2

1.知[x]補求[-x]補

  • [x]補連同符號位在內,每位取反,末位加一。

2.算術移位規則

  • 實質爲該數乘或除以2^n。
    在這裏插入圖片描述
  • 有符號數的移位爲算術移位,無符號數的以爲稱爲邏輯移位。
  • 爲避免算術左移最高位丟1,可採用帶進位(Cy)的 移位。即將符號位移至Cy。

3.補碼運算規則

整數先求各數的補碼相加後,對於整數而言對2^(n+1)取模,小數對2取模。目的將進位產生的1丟掉。

溢出判斷:

補碼定點加減運算判斷溢出有兩種方法:
單符號位法和雙符號位法。

單符號位法:

  • 對於加法溢出情況爲相同符號位的數相加纔可能出現溢出。
  • 對於減法相同符號位相減不可能出現溢出。
  • 結論:
    不論加減法只要參加運算的數符號位相同,結果的符號與其不同,則溢出。
    爲節省時間判斷是否溢出的方法:
    將符號位產生的進位C(f)與最高有效位產生的進位異或操作後進行判斷。(異或,相同爲0,不同爲1)
  • 當結果爲1時溢出,爲0無溢出。
  • 其中細分爲正溢出,和負溢出。
  • 符號位的進位爲1時爲正溢出,否則爲負溢出。

雙符號位法:

  • 瞭解此法前,先了解一下,小數補碼的定義:
    整數時:
    [x]補=2^(n+2)+x(x爲負)
    小數時:
    [x]補=x(x爲正)
    [x]補=2+x(x爲負,mod2)
    同理:當模數爲4時,形成了雙符合位的補碼。
    [x]補=2^2+x(x爲負,mod4),其引入在判斷溢出時有特殊作用。
    補充:從補碼定義可以發現,當x爲負數時,補碼運算還是要進行減法運算,這與補碼初心只要加法有點違背,後面發現一種負數補碼的運算規則,也可求補碼(即除符號位不變,每位求反,末位加1)反碼就因此而生。
    運算規則:
    2位符號位連同數值部分一起參與運算。
    判斷溢出的規則
    當2位符號位不同時,表示溢出,否則無溢出。第一個符號位永遠代表真正的符號。第一位爲0(即正)則上溢(正溢出),爲1(即負數)則爲下溢(負溢出)。
    以上結論對於整數而言同樣適用。

乘法運算

  • 計算機中乘法運算很重要,現在有的機器由硬件直接完成乘法運算,有的機器按照乘法運算的方法依靠軟件編程實現。可見掌握它有助於乘法器的設計,和乘法編程。

我們都會筆算乘法,例如:

在這裏插入圖片描述
分析其在計算機中實現的缺點:其一,將4個位積一次相加,機器難以實現;其二,乘積位數增加了一倍,這將導致器材的浪費和運算時間的增加。正因如此,我們將筆算乘法進行改進。

筆算乘法的改進

在這裏插入圖片描述
將其轉化爲移位後(即將乘法轉換成移位和加法運算):從裏向外開始分步運算:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
*原碼一位乘規則:
成績的符號位由兩原碼符號位異或運算結果決定。
成績的數值部分由兩數絕對值相乘,其通式爲:
在這裏插入圖片描述

  • 部分積右移法
  • y=1,部分積+被乘數x,右移一位。
  • y=0,直接右移一位。
  • 在這裏插入圖片描述
    優點:可以利用現行加法器,電路設計簡單。
    缺點:加法運算爲串行進行的,每一步都要佔用若干時鐘週期,效率較低。
  • 大規模集成電路的發展給乘法器的設計帶來了曙光——陣列乘法器,其思想爲資源換效率。
  • 原碼陣列乘法器:其規則就是原碼一位乘。

除法運算

筆算除法在計算機上的缺點:機器不能“心算”上商,必須通過比較被除數和除數絕對值的大小來確定商值。
在這裏插入圖片描述
改進後:恢復餘數法
特點:當餘數爲負時,需要加上除數,將其恢復原來的餘數。
缺點:每當餘數爲負數時,都需要恢復餘數,這就延長了機器除法的時間,操作也很不規則,對線路不利。加減交替法克服了這個缺點。
加減交替法:
特點:當運算過程中出現不夠減,就不恢復餘數,根據餘數的符號繼續往下運算,因此步數固定,控制簡單。
運算規則:當餘數爲正時,商“爲1”,餘數左移一位,減除數;
當餘數爲負時,商爲“0”,餘數左移一位,加除數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章