二.二進位制資料的表示方法
三.二進位制的運算
3.2 定點數的加減法運算
3.3 浮點數的加減法運算
3.4 浮點數的乘除法運算
計算機因為有高低電平兩種形式,所以非常適合二進位制這種形式,但是有些情況使用二進位制表達太冗長了,可以使用大進製位編碼二進位制位來解決這個問題,八進位制、十六進製制滿足2的n次方的要求,所以在計算機中也經常使用八進位制和十六進製制表達特定內容。
如下圖所示:n為正整數,dx為n的自右向左的第x-1位,r為基數
二進位制轉換十進位制:按權展開法
按權展開法與上圖類似
十進位制轉換為二進位制:整數——重複相除法;小數——重複相乘法
重複除以2
得商取餘
101/2501
50/2250
25/2121
12/260
6/23
03/211
1/201
重複乘以2
得積取整
25/32
50/32=1+9/16
19/16
18/16=1+1/8
11/4
1/4=0+1/2
01/4
1/2=0+1/2
01/2
1=1+0
1使用0表示正數,使用1表示負數,把符號位放在數字位最前面。這就是原碼表示法,上文所介紹的轉換方法也是針對原碼而言。
對於原碼的缺點,我們希望有一種表示方法可以用正數代替負數;希望找到不同符號運算元更加簡單的運算方法;希望可以使用加法操作代替劍法操作。
n表示x的位數
例:x=-13的補碼
第一步:原碼 x=1,1101
第二步:補碼 x=24+1-13=100000-1101=1,0011
實現了正數替代負數,但計算補碼的過程還是使用了減法。
反碼的目的是找出原碼和補碼之間的規律,消除轉換過程中的減法。
規律:負數的反碼等於原碼除符號位外按位取反,負數的補碼+1。
例:x=-11/32的補碼
原碼:x=1,0.01011
反碼:x=1,1.10100
補碼:x=1,1.10101
規律:負數的反碼等於原碼除符號位外按位取反,負數的補碼+1。
小數點固定在某個位置的數稱之為定點數。表示純小數時候,把小數點放在符號位與數值位之間;表示純整數時候,把小數點放在符號位和數值位之後;表示既非純整數又非純小數時候,則應乘以比例因子(小數點左移、右移幾位)以滿足定點數儲存格式。
為什麼引入浮點數?
計算機處理的很大程度上不是純小數或純整數;資料範圍很大,定點數難以表達。
例:設浮點數字長為16位,階碼位5位,尾數為11位,將十進位制數 -54 表示位二進位制浮點數
原碼:x=1,110110
浮點數規格化:x=-0.110110×2110
階碼符號位
階碼數值位
尾數符號位
尾數數值位
00110
10010100000
注:尾數因為是純小數補0要在尾部補,而且尾數要變為補碼。
計算機二進位制計算過程
原文 原碼,補碼和反碼 wqbin cnblogs.com 1.原碼,反碼,補碼的基礎概念和計算方法.1 00000001 原 00000001 反 1 10000001 原 11111110 反 補碼補碼的表示方法是 1 00000001 原 00000001 反 00000001 補 1 100...
計算機 十進位制 二進位制 關係
一 人類用十進位制 0 1 2 3 4 5 6 7 8 9 二 計算機用二進位制 0 1 三 人類使用十進位制,計算機使用2進製,因此計算機在執行人類發出的任務時,會進行10進製和2進製之間的轉換。計算機先將10進製轉換為2進製,用2進製進行計算,再將所得的2進製計算結果轉換為10進製。四 十進位制...
計算機基礎之二進位制數
二進位制數可以分為有符號數和無符號數,有符號數,又可以分為原碼 反碼 補碼。正數的原碼 反碼和補碼都一樣 負數的原碼,最高位是1,反碼是除了最高位,其餘的與原碼取反,補碼是反碼加1。如 4 的原碼為 0000 0100 反碼為 0000 0100 補碼為 0000 0100 4 的原碼為 1000 ...