0921

吔瓜群众發表於2024-09-21

移碼全0真值最小,移碼全1真值最大

強制型別轉換

char 1位元組

short 2位元組

unsigned short 2位元組

int 4位元組

unsigned int 4位元組

長變短,高位截斷,低位保留

短變長,符號擴充套件

零擴充套件,適用於無符號整數,用0擴充套件高位

符號擴充套件,適用於帶符號整數

一位全加:輸入:Ai,Bi,Ci-1,輸出Si,Ci

關係

n bit 加法器,簡單粗暴,把n個1位全加器串起來。“序列進位的並行加法器”

四個位

PSW:標誌暫存器

如果ALU支援K種功能,則控制訊號的位數m大於等於[log2k](向上取整)

原碼算數移位,符號位不變,僅對數值位進行移位。

右移:高位補0,低位捨棄,若捨棄位=0,相當於除以2,若捨棄位=1,損失精度

左移:低位補0,高位捨棄;若捨棄位為0,相當於*2;若位1,損失資料嚴重

定點數原碼同理

反碼

正數與原碼同理

負數時由於數字取反,右移高位補1低位捨棄;左移低位補1高位捨棄

補碼

正數與反碼原碼同理

負數:左邊當成反碼右邊當成原碼

負數補碼中,最右邊的1及其右邊的0同原碼,剩下的左邊部分同反碼

邏輯左移:高位捨棄低位補0

邏輯右移:低位捨棄高位補0

溢位判斷

1位符號位:

雙符號位判溢位

10,下溢;01,上溢。

關於帶符號數的補碼的減法運算,被減數不變,減數算上符號位全部取反再加1,然後減法變加法

無符號數減法運算同理

判斷無符號數加/減的溢位:加法運算時,如果最高位進位為1,溢位;減法運算時,如果最高位進位為0,溢位;

(實在不行可以手動判斷233)

OF:判斷帶符號數是否溢位

SF:判斷帶符號數符號

CF:判斷無符號數是否溢位