回覆列表
-
1 # 蘿莉退ww
-
2 # 用戶2017517446730
需要借助二進制來進行,舉例:
c3H=?D
c3H是有符號數,最高位為1表示這是一個用補碼方式存儲的負數
c3H=11000011B,減1=11000010B,取反=00111101B=61D,所以c3H=-61D
需要借助二進制來進行,舉例:
c3H=?D
c3H是有符號數,最高位為1表示這是一個用補碼方式存儲的負數
c3H=11000011B,減1=11000010B,取反=00111101B=61D,所以c3H=-61D
十六進制整數有無負數是依據在編程語言中定義的變量類型而決定。
在計算機中,負數以其正值的補碼形式表達。
什麼叫補碼呢?這得從原碼,反碼說起。
原碼:一個整數,按照絕對值大小轉換成的二進制數,稱為原碼。
比如 00000000 00000000 00000000 00000101 是 5的 原碼。
反碼:將二進制數按位取反,所得的新二進制數稱為原二進制數的反碼。
取反操作指:原為1,得0;原為0,得1。(1變0; 0變1)
比如:將00000000 00000000 00000000 00000101每一位取反,得11111111 11111111 11111111 11111010。
稱:11111111 11111111 11111111 11111010 是 00000000 00000000 00000000 00000101 的反碼。
反碼是相互的,所以也可稱:
11111111 11111111 11111111 11111010 和 00000000 00000000 00000000 00000101 互為反碼。