回覆列表
-
1 # 影片好笑
-
2 # 使用者1415180428147
反碼,沒有用途;補碼,有把減法轉換成加法的用途。
----
日常生活中,大家都知道,把時針倒撥20分鐘,和正撥40分鐘,效果是相同的。
-20,就對應了 +40。
怎麼算的?用 60 減去 -20 的絕對值,即可。
----
另外,100 以內的數字,減去1,和加上 99,效果也是相同的。
比如,27 - 1 = 26, 27 + 99 = (1) 26。
即 -1,就對應了 +99。
怎麼算的?用 100 減去 -1 的絕對值,即可。
----
這些,就體現了《模》與《補數》的概念。
利用補數,就可把減法,轉換成加法。如果是正數,直接做加法就行,不用費事。
----
對於負數,要用《模》減去這個負數的絕對值,求出《補數》之後再用於計算。
對於正數,就不用變了。
----
八位二進位制數字的《模》是 1 0000 0000,即 256。
-5 的補數就是:256 - 5 = 251。
----
把 5、251,都寫成二進位制數,這就稱為了《碼》,此時就可以看出它們有《求反加一》的關係。
即把 5 = 0000 0101,求反加一,就有:1111 1011,這就是 -5 的補碼,這也就是 251。
----
八位時,補碼定義式如下:
[X]補 = X ;0 =
[X]補 = 256 - | X | ;128 =
嚴謹一些的書上都有這個式子。
----
補碼完全可以用十進位制數表示,程式設計時,就寫十進位制數,保證都是正確的。
補碼,不必變成二進位制,也就不用《求反加一》了,書上講的那些步驟,都是垃圾。
----
反碼,沒有用途;補碼,有把減法轉換成加法的用途。----日常生活中,大家都知道,把時針倒撥20分鐘,和正撥40分鐘,效果是相同的。-20,就對應了 +40。怎麼算的?用 60 減去 -20 的絕對值,即可。----另外,100 以內的數字,減去1,和加上 99,效果也是相同的。比如,27 - 1 = 26, 27 + 99 = (1) 26。即 -1,就對應了 +99。怎麼算的?用 100 減去 -1 的絕對值,即可。----這些,就體現了《模》與《補數》的概念。利用補數,就可把減法,轉換成加法。如果是正數,直接做加法就行,不用費事。----對於負數,要用《模》減去這個負數的絕對值,求出《補數》之後再用於計算。對於正數,就不用變了。----八位二進位制數字的《模》是 1 0000 0000,即 256。-5 的補數就是:256 - 5 = 251。----把 5、251,都寫成二進位制數,這就稱為了《碼》,此時就可以看出它們有《求反加一》的關係。即把 5 = 0000 0101,求反加一,就有:1111 1011,這就是 -5 的補碼,這也就是 251。----八位時,補碼定義式如下:[X]補 = X ;0 =< X =< 127[X]補 = 256 - | X | ;128 =< X < 0嚴謹一些的書上都有這個式子。---- 補碼完全可以用十進位制數表示,程式設計時,就寫十進位制數,保證都是正確的。補碼,不必變成二進位制,也就不用《求反加一》了,書上講的那些步驟,都是垃圾。----