Sign & Magnitude 計算規則
直接舉例 "+7" + "-9"
數字先用 Sign & Magnitude 表示
S M
+7 => 0 00111 =記錄成=>000111
-9 => 1 01001 =記錄成=>101001
加法=> 判定(用XOR) 正負(S的部分)
(XOR規則 一樣=>輸出0 不同=>輸出1)
在這個例子中 符號不同 所以輸出1 => 第二個數字要做two's complement轉換
做two's complement前要先把sign(符號)和Magnitude(值)分開(只對第二個數字做
01001 ==Two's complement==> 10111
接著相加
00111
+) 10111
--------------
11110
(↑沒有溢位,表示值是負的,最後sign(符號)適用第二個數值的,第二個Sign是0)
接著因為剛剛做運算而做了Two's complement,所以要再轉回來
11110 ==Two's complement==> 00010 (這是Magnitude的部分)
最後數值是 Sign + Magnitude
所以答案是 100010