參次結構
機器級包括組合語言及機器語言
透過編譯器將預處理檔案轉化為組合語言時,就是將高階語言轉化為機器級目的碼檔案的過程,分水嶺是編譯程式
編碼大小
補碼:
FFFx=FFFF-[FFFF-(16-x)]=x-16
FFxy=FFFF-[FFFF-(256-x16-y)]=x16+y-256
補碼
負數的表示法
他們為了繼續使用模數加法代替減法,他們做了一個大膽而又粗暴的定義:讓80等於-20,即用80代表-20
根據這個規律,推廣到一般的情況就是:
負數的表示方式就是它絕對值的補數——規則①
結合規則①的負數表示方式,最終滿足這一系列條件的結果是:
在模100條件下:0 ~ 49表示正數本身; 50 ~ 99表示各自補數的負值(如98代表-2)
更一般地:模n情況下,0 ~ n/2 -1表示本身,n/2 ~ n-1表示各自補數的負值——規則②
補碼的實質
所謂補碼,其實只是:非負數和規則①表示的負數,在二進位制形式下的表示
所以雖然補碼叫補碼,但事實上它的本質和補字沒有直接關聯,它只是一種為了實現模數加法代替減法而構造出來的數字對映罷了。
補碼最高位為符號位的解釋
補碼在二進位制中的最高位為符號位,其實是因為規則②中,把半模以上的數用作表示負數,而恰好半模以上的數,在二進位制表示中的最高位就是1,半模以下最高位是0。
浮點數
浮點數比大小
兩個位數相同且規格化
尾數決定精度,階碼決定範圍
看正負,解碼大範圍大,負的範圍大就小;正的範圍大就大
規格化
-
非左溢右
非規格化左規,溢位右規
-
左減右加
左規尾數左移階碼要減,右規位數右移階碼要加
-
左多有一
左規可能多次,右規只能一次
識別符號
OF(Overflow Flag):溢位標誌位。OF 標誌用於指示有符號運算是否發生溢位。當有符號操作結果超出了有符號數的表示範圍時,OF 位會被置位(設定為1),表示溢位。否則,OF 位將被清零(設定為0)。
SF(Sign Flag):符號標誌位。SF 標誌用於指示有符號操作結果的符號。當有符號操作結果的最高位為1時,SF 位會被置位,表示結果為負數。否則,SF 位將被清零。
ZF(Zero Flag):零標誌位。ZF 標誌用於指示操作結果是否為零。當操作結果為零時,ZF 位會被置位。否則,ZF 位將被清零。
CF(Carry Flag):進位標誌位。CF 標誌用於指示無符號操作中的進位或借位情況。當無符號操作發生進位或借位時,CF 位會被置位。否則,CF 位將被清零。
誤差分析
當運算過程相同,但結果誤差相差1一定是舍入誤差引起的
當運算過程相同,但結果相差很大是由溢位引起
當IEEE754階碼為8個1時會導致上溢