2012年11月7日 星期三

Sign & Magnitude 計算規則 示範

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