加法就是加法,計算機裡面只做加法。所以加法就是直接的加法。
3+2 = (11)二進位制+ (10)二進位制= (100)二進位制 = 5
減法比較複雜,減法可以看成負數的加法。也就是加上一個數的補碼。
例如3 - 2 = 3 + (-2)
而要得到-2,就要求2的補碼。
假設你的字長是4位,那 2 = 0010。2的補碼就是2的反碼+1, 反碼(2)=1101,然後再加1,就是1110 (=-2).
那3 = 0011, 3+ (-2) = 0011 + 1101 = (1)0001。 括號裡面那個1是進位的1,因為字長只有4位,所以直接捨去進位的1,這樣剩下來的就是0001 = 1也就是3-2的結果了。
所以當然是減法比較慢,因為減法需要轉換補碼。補碼轉換大概利用邏輯計算的話可以一步完成。所以大概就是減法比加法多一次邏輯運算。
加法就是加法,計算機裡面只做加法。所以加法就是直接的加法。
3+2 = (11)二進位制+ (10)二進位制= (100)二進位制 = 5
減法比較複雜,減法可以看成負數的加法。也就是加上一個數的補碼。
例如3 - 2 = 3 + (-2)
而要得到-2,就要求2的補碼。
假設你的字長是4位,那 2 = 0010。2的補碼就是2的反碼+1, 反碼(2)=1101,然後再加1,就是1110 (=-2).
那3 = 0011, 3+ (-2) = 0011 + 1101 = (1)0001。 括號裡面那個1是進位的1,因為字長只有4位,所以直接捨去進位的1,這樣剩下來的就是0001 = 1也就是3-2的結果了。
所以當然是減法比較慢,因為減法需要轉換補碼。補碼轉換大概利用邏輯計算的話可以一步完成。所以大概就是減法比加法多一次邏輯運算。