我們都知道,不管是負數和正數,在計算機記憶體中都是以補碼來表示的,下面先介紹原碼、反碼和補碼的概念和聯絡:
所謂原碼就是前面所介紹的二進位制定點表示法,即最高位為符號位,「
0」表示正,「
1」表示負,其餘位表示數值的大小。
反碼表示法規定:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。
補碼表示法規定:正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。
根據原碼的定義:正零和負零的原碼為:
+0 : 0000 0000 0000 0000 0000 0000 0000 0000 (32 bit)
-0 : 1000 0000 0000 0000 0000 0000 0000 0000
而反碼為:
+0 : 0000 0000 0000 0000 0000 0000 0000 0000
-0 : 1111 1111 1111 1111 1111 1111 1111 1111
補碼為:
+0 : 0000 0000 0000 0000 0000 0000 0000 0000
-0 : 1 0000 0000 0000 0000 0000 0000 0000 0000
可以看出,-0的補碼發生溢位,捨棄最高位後,其跟+0在記憶體的表示一樣,都是:
0000 0000 0000 0000 0000 0000 0000 0000
小數在記憶體中的儲存表示
整數在記憶體中的儲存方式比較簡單,我們來看看小數在記憶體中的儲存方式。首先,要學會十進位制小數與二進位制小數之間的轉換。1 二進位制小數轉化為十進位制小數 比如把二進位制小數110.11轉化為十進位制小數,步驟如下 2 十進位制小數轉化為二進位制小數 方法是這樣的 先分別把十進位制小數的整數部分和小...
小數在記憶體中的儲存表示
整數在記憶體中的儲存方式比較簡單,我們來看看小數在記憶體中的儲存方式。首先,要學會十進位制小數與二進位制小數之間的轉換。1 二進位制小數轉化為十進位制小數 比如把二進位制小數110.11轉化為十進位制小數,步驟如下 2 十進位制小數轉化為二進位制小數 方法是這樣的 先分別把十進位制小數的整數部分和小...
小數在記憶體中的儲存表示
整數在記憶體中的儲存方式比較簡單,我們來看看小數在記憶體中的儲存方式。首先,要學會十進位制小數與二進位制小數之間的轉換。1 二進位制小數轉化為十進位制小數 比如把二進位制小數110.11轉化為十進位制小數,步驟如下 2 十進位制小數轉化為二進位制小數 方法是這樣的 先分別把十進位制小數的整數部分和小...