在妳的程序中,妳定義了壹個無符號整數變量b,他在計算機中的表示是111111111165438。可以算出它的值是65535),但輸出時是有符號的十進制整數數據,所以計算機把內存中的數據當作有符號數,它的值是補碼形式的二進制數據,由於它的最高位(第15位)是1,所以是負數。其值為:Dui 1111111111165438。438+011111111111減去1,就是11165438111111111111165438.
Turbo C是這樣,其他編譯器我就不知道了。阿六生說的可以參考。
可以在網上以原碼補碼為關鍵詞搜索相關知識。