- 從零開始學C語言
- 戴晟暉 祝明慧等編著
- 394字
- 2018-12-27 13:04:10
1.2.3 計算機中數據的存儲
我們已經知道在計算機內所有數據最終都是使用二進制數表示的,上一節中我們已經學習了如何將一個十進制、八進制、十六進制數轉換為二進制數,數值有正負之分,它們在計算機內是如何存儲的呢?
在計算機中,數據有三種表示方法:原碼、反碼和補碼。計算機用一個二進制的最高位存放所表示數值的符號,最高位為0表示正數,最高位為1表示負數。對于一個正數,原碼是將該數轉換成二進制,它的反碼和補碼與原碼相同。對于一個負數,原碼是將該數按照絕對值大小轉換成的二進制數,最高位即符號位為1;它的反碼是除符號位外將二進制數按位取反,所得的新二進制數稱為原二進制數的反碼;它的補碼是將其二進制的反碼加1。計算機中任何一個帶有符號的二進制數都是以補碼形式進行運算和存儲的。
如表1-1所示為比較1與-1的原碼、反碼和補碼。
表1-1 數據存儲表(1與-1的原碼、反碼和補碼)

注:為了方便比較我們在這里用一個字節的整數舉例。
推薦閱讀
- Mastering Concurrency Programming with Java 8
- Advanced Splunk
- Learning NServiceBus(Second Edition)
- PowerCLI Cookbook
- 區塊鏈架構與實現:Cosmos詳解
- Apache Spark 2 for Beginners
- DevOps Automation Cookbook
- Mastering OpenCV 4
- Amazon S3 Cookbook
- PhoneGap Mobile Application Development Cookbook
- Red Hat Enterprise Linux Troubleshooting Guide
- PrimeFaces Blueprints
- Scala編程實戰
- CodeIgniter Web Application Blueprints
- 測試架構師修煉之道:從測試工程師到測試架構師