學計算機還能不懂二進位制 原碼反碼補碼各種運算

2021-10-05 10:01:55 字數 1959 閱讀 6772

二.二進位制資料的表示方法

三.二進位制的運算

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 ...