補碼,反碼,加減法運算,類型取值范圍


## 知識普及:












計算機規定0000 0000代表0, 1000 0000代表的-0 沒有意義,必須找個-127~127之外的數字與之對應. 認為規定 -0 就是 -128

### 數學家分析:
1. byte占用8個bit , 可得其可以表示2^8個數據.
2. 這8個bit分為 符號位與數值位 , 符號位0表示正數 1 表示負數.
3. 按照先前分析可得 (+127:0111 1111 , +1: 0000 0001,+0 : 0000 0000 , -0: 1000 0000, -1 : 1000 0001,-127:1111 1111)
4. 可以看出上面的最高位是不參與計算數值的, 只代表一個符號位置. 但是出現一個問題就是 +0 和 -0 怎么辦? 這不都是0么?
5. 規定一下 -0:1000 0000代表一個-127~127之外的數字. 那就代表-128.

### 程序員分析:

1. 計算機存儲的帶有符號的整數實質上存儲的都是他們的補碼.
2. 正數和0的補碼,反碼就是其本身原碼,不需要進行轉換得到反碼和補碼.
3. 負數的反碼是符號位不變,其它位取反;補碼是在負數的基礎上加1(符號位保持不變.).
4. 計算機中使用補碼進行加法運算.

#### 示例:
1. 計算機中不存在減法運算,減法運算會轉換成加法運算.8-1=8+(-1)=(0000 1000)+(1111 1111) = (0000 0111)


(源碼)1000 0001 =(補碼)1000 0000 = (反碼)1111 1111


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM