移碼全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:判斷無符號數是否溢位