計算機運算基礎(chǔ)課件_第1頁
計算機運算基礎(chǔ)課件_第2頁
計算機運算基礎(chǔ)課件_第3頁
計算機運算基礎(chǔ)課件_第4頁
計算機運算基礎(chǔ)課件_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

計算機科學(xué)導(dǎo)論第2章計算機運算基礎(chǔ)

計算機運算基礎(chǔ)計算機科學(xué)導(dǎo)論23計算機運算基礎(chǔ)計算機科學(xué)導(dǎo)論數(shù)制及其轉(zhuǎn)換數(shù)制是數(shù)的進(jìn)位計數(shù)制,是用一組固定的數(shù)碼和一套統(tǒng)一的規(guī)則來表示數(shù)值的方法。在日常生活中通常用十進(jìn)制來計數(shù)。在計算機內(nèi)部,一切信息的存取、處理和傳輸均采用二進(jìn)制計數(shù),為了書寫與表示方便,還引入了八進(jìn)制計數(shù)和十六進(jìn)制計數(shù)。在日常生活中會遇到不同進(jìn)制的數(shù),如十進(jìn)制數(shù),逢10進(jìn)1;一周有七天,逢7進(jìn)1。而計算機中用的是二進(jìn)制數(shù),逢2進(jìn)1。無論哪種數(shù)制,其共同之處都是進(jìn)位計數(shù)制。計算機科學(xué)導(dǎo)論4

數(shù)制及其轉(zhuǎn)換進(jìn)位計數(shù)制各種數(shù)制的共同特點是:數(shù)制規(guī)定了每位數(shù)上可能有的數(shù)碼的個數(shù),以及同一個數(shù)碼處于不同位置表示不同的值。這就是數(shù)制中除數(shù)碼外最重要的兩個概念,即基數(shù)(radix)和位權(quán)(weight)?;鶖?shù)(radix):基數(shù)是數(shù)制所使用數(shù)碼的個數(shù)。計算機科學(xué)導(dǎo)論5進(jìn)位計數(shù)制數(shù)碼是數(shù)制中表示基本數(shù)值大小的不同數(shù)字符號。例如,十進(jìn)制有10個數(shù)碼:0、1、2、3、4、5、6、7、8、9。位權(quán)(weight)。一個數(shù)碼處在不同位置上所代表的值不同。每個數(shù)碼所表示的數(shù)值等于該數(shù)碼乘以一個與數(shù)碼所在位置相關(guān)的常數(shù),這個常數(shù)叫做位權(quán)。

數(shù)制及其轉(zhuǎn)換計算機科學(xué)導(dǎo)論6計算機中常用的數(shù)制十進(jìn)制(Decimal)。使用0、1、2、3、4、5、6、7、8、9共10個數(shù)碼來描述,基數(shù)為10,計數(shù)規(guī)則是逢10進(jìn)1。二進(jìn)制(Binary)?;鶖?shù)是2,只有兩個數(shù)碼,即0和1,計數(shù)規(guī)則是逢2進(jìn)1。八進(jìn)制(Octal)。基數(shù)是8,即由0、1、2、3、4、5、6、7共8個數(shù)碼組成,逢8進(jìn)1。十六進(jìn)制(Hexadecimal)。基數(shù)是16,數(shù)碼是0、l、2、3、4、5、6、7、8、9、A、B、C、D、E、F。計數(shù)規(guī)則是逢16進(jìn)1。

數(shù)制及其轉(zhuǎn)換計算機科學(xué)導(dǎo)論7

數(shù)制及其轉(zhuǎn)換十進(jìn)制與二進(jìn)制、八進(jìn)制、十六進(jìn)制對應(yīng)關(guān)系十進(jìn)制二進(jìn)制八進(jìn)制十六進(jìn)制000011112102231133410044510155611066711177810001089100111910101012A11101113B12110014C13110115D14111016E15111117F(1)在技術(shù)上容易實現(xiàn)。(2)運算規(guī)則簡單。(3)可靠性高。計算機科學(xué)導(dǎo)論8

數(shù)制及其轉(zhuǎn)換計算機采用二進(jìn)制的原因采用二進(jìn)制后用電路的兩個狀態(tài)---開關(guān)來表示二進(jìn)制數(shù),數(shù)碼的存儲和傳輸簡單、可靠。位數(shù)較多,使用不便;不合人們的習(xí)慣,輸入時將十進(jìn)制轉(zhuǎn)換成二進(jìn)制,運算結(jié)果輸出時再轉(zhuǎn)換成十進(jìn)制數(shù)。一個數(shù)的十進(jìn)制表示記為:

dndn-1...d1d0(10) 其中:

dn

∈{1,…,9},n>0 (多位數(shù)) dn

∈{0,…,9},n=0(一位數(shù)) dn-1,…,d1,d0∈{0,…,9}則該數(shù)的值可用下式得出:

dnx10n+dn-1

x10n-1+...+d1x101+d0

x100計算機科學(xué)導(dǎo)論9例如:123(10)的值是:1x102+2x101+3x100=100+20+3=123用十進(jìn)制來表示數(shù)值的規(guī)則

數(shù)制及其轉(zhuǎn)換計算機科學(xué)導(dǎo)論10非十進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)

數(shù)制及其轉(zhuǎn)換

一個數(shù)的二進(jìn)制表示記為:

bnbn-1...b1b0(2) 其中:

bn=1,n>0 bn

∈{0,1},n=0 bn-1,…,b1,b0∈{0,1}則該數(shù)的值可用下式得出:

bnx2n+bn-1

x2n-1+...+b1x21+b0x20例如,(2)的值是:1x26+1x25+1x24+1x23+0x22+1x21+1x20=64+32+16+8+0+2+1=123一個數(shù)的十進(jìn)制表示記為:

dndn-1...d1d0(10) 其中:

dn

∈{1,…,9},n>0 dn

∈{0,…,9},n=0 dn-1,…,d1,d0∈{0,…,9}則該數(shù)的值可用下式得出:

dnx10n+dn-1

x10n-1+...+d1x101+d0x100例如,123(10)的值是:1x102+2x101+3x100=100+20+3=123計算機科學(xué)導(dǎo)論11用二進(jìn)制來表示數(shù)值的規(guī)則

數(shù)制及其轉(zhuǎn)換十進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)采用輾轉(zhuǎn)相除法。將123(10)轉(zhuǎn)換成等值的二進(jìn)制數(shù):

除以2的商(取整)

余數(shù)

123/2=611 61/2=30130/2=15015/2=717/2=313/2=111/2=01自下而上地依次將余數(shù)加以匯集,即得到對應(yīng)的二進(jìn)制數(shù):(2)。計算機科學(xué)導(dǎo)論12數(shù)制及其轉(zhuǎn)換小數(shù)呢?二進(jìn)制數(shù)與八進(jìn)制數(shù)、十六進(jìn)制數(shù)將二進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù):從右向左,每三位進(jìn)行一次轉(zhuǎn)換,即從二進(jìn)制數(shù)的值轉(zhuǎn)換成等值的八進(jìn)制數(shù)字。反過來怎么轉(zhuǎn)換?計算機科學(xué)導(dǎo)論13

數(shù)制及其轉(zhuǎn)換例:轉(zhuǎn)換(2)1111011(2)=173(8)1111011(2)=7B(16)將二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù):從右向左,每四位進(jìn)行一次轉(zhuǎn)換,即從二進(jìn)制數(shù)的值轉(zhuǎn)換成等值的十六進(jìn)制數(shù)字。14計算機運算基礎(chǔ)計算機科學(xué)導(dǎo)論計算機中數(shù)據(jù)的表示計算機是用二進(jìn)制編碼方式工作的,它無法直接理解人們?nèi)粘=佑|到的信息,需要將信息轉(zhuǎn)化為二進(jìn)制編碼的數(shù)據(jù),計算機才能進(jìn)行存儲、傳輸和處理。數(shù)的機器碼表示機器數(shù):在計算機中,按照既定的二進(jìn)制位數(shù)(稱為碼長),最左邊的那一位(稱為符號位)用來表示一個整數(shù)的正負(fù)號:0表示正數(shù),1表示負(fù)數(shù)。符號位之后的那些位(稱為數(shù)值位),用來表示這個整數(shù)的絕對值。計算機科學(xué)導(dǎo)論15計算機中數(shù)據(jù)的表示真值:一般書寫中用“+”、“-”來表示數(shù)的符號,這樣表示的數(shù)稱為真值。數(shù)在計算機中的表示計算機科學(xué)導(dǎo)論16計算機中數(shù)據(jù)的表示在計算機中,數(shù)可以有三種不同的二進(jìn)制表示方法(差別在于負(fù)數(shù)之?dāng)?shù)值位的表示不同):原碼表示反碼表示補碼表示原碼表示在給定碼長后,根據(jù)一個整數(shù)的正負(fù)填寫符號位,再將這個整數(shù)之絕對值的二進(jìn)制表示,按照數(shù)值位的長度在前面補足必要的0后,就得到這個整數(shù)的原碼表示。若碼長為8,則123(10)的原碼表示是:

0-123(10)的原碼表示是:

1若碼長為16,則123(10)的原碼表示是:

01011-123(10)的原碼表示是:

11011計算機科學(xué)導(dǎo)論17計算機中數(shù)據(jù)的表示原碼表示的計算公式是:對于整數(shù)X,設(shè)[X]原是它的原碼表示,n是碼長,則

X 0≤X≤2n-1-1[X]原=2n-1+|X| -(2n-1-1)≤X≤00有兩種原碼表示:當(dāng)n=8,則[X]原的表示范圍是–127~127。計算機科學(xué)導(dǎo)論18計算機中數(shù)據(jù)的表示反碼表示規(guī)定:一個正整數(shù)的反碼表示與其原碼表示相同;一個負(fù)整數(shù)的反碼表示:對其原碼表示的數(shù)值位進(jìn)行按位變反(按位將1換成0、將0換成1)的結(jié)果。例如(若碼長為8): (26)(反)=

(26)(原)=

00011010 (-26)(反)=

(10011010→11100101)計算機科學(xué)導(dǎo)論19計算機中數(shù)據(jù)的表示反碼表示的計算公式是:對于整數(shù)X,設(shè)[X]反是它的反碼表示,n是碼長,則0也有兩種反碼表示:當(dāng)n=8,則[X]反的表示范圍是–127~127。

X 0≤X≤2n-1-1[X]反=2n-1-|X| -(2n-1-1)

X≤

0計算機科學(xué)導(dǎo)論20計算機中數(shù)據(jù)的表示補碼表示如果能夠在負(fù)數(shù)的表示上想辦法,就有可能在計算機中利用二進(jìn)制加法的部件來實現(xiàn)二進(jìn)制減法,因為:

a-b=a+(-b)由于乘法可以用加法實現(xiàn)、除法可以用減法實現(xiàn),因而這是為了用統(tǒng)一的部件來進(jìn)行二進(jìn)制數(shù)的四則運算。支持這種統(tǒng)一處理的基礎(chǔ),是計算機中數(shù)的補碼表示。計算機科學(xué)導(dǎo)論21計算機中數(shù)據(jù)的表示我們先來看一個例子9999999(汽車上的里程表)計算機科學(xué)導(dǎo)論22計算機中數(shù)據(jù)的表示我們先來看一個例子9999999(汽車上的里程表)0000000123計算機科學(xué)導(dǎo)論23計算機中數(shù)據(jù)的表示在這個例子中,當(dāng)里程表上的數(shù)字是999999.9時,再行進(jìn)0.1公里,里程表顯示的是000000.0。如果我們只看整數(shù)部分:由于999999+1=000000,(從儀表盤上看到的結(jié)果),所以從算術(shù)運算的角度看,這里999999的作用相當(dāng)于-1。這就說明,當(dāng)限制了數(shù)據(jù)的表示長度時,要得到一個與正整數(shù)k對應(yīng)的負(fù)數(shù)表示,可以認(rèn)為:要得到的那個數(shù)加上這個正整數(shù)之后等于0。我們稱之為求補。在上面的例子中,要得到1的負(fù)數(shù)表示-1,就是看哪個數(shù)加上1后等于0。這個數(shù)便是999999。計算機科學(xué)導(dǎo)論24Why?計算機中數(shù)據(jù)的表示回到給定碼長的二進(jìn)制表示上來:例如,當(dāng)碼長為8(即數(shù)值位數(shù)為7),則26(10)=0011010那么,要得到-26(10),就是求一個二進(jìn)制數(shù)c:使得:

c+0011010=0000000這樣的c就是|-26(10)|的二進(jìn)制表示:

因為:

1100110+)0011010

進(jìn)位被丟棄計算機科學(xué)導(dǎo)論25計算機中數(shù)據(jù)的表示補碼表示規(guī)定:一個正整數(shù)的補碼表示與它的原碼表示相同;一個負(fù)整數(shù)的補碼表示:符號位為1,數(shù)值位是其絕對值的求補結(jié)果。對于一個負(fù)整數(shù),怎樣求它的補碼表示?一條簡單規(guī)則:對其原碼表示的數(shù)值位按位變反后加1。例:當(dāng)碼長為8,求-26(10)的補碼表示(11100110):原碼表示是:按位變反后:加1

后得到:,即得到其補碼表示。計算機科學(xué)導(dǎo)論26計算機中數(shù)據(jù)的表示補碼表示的計算公式是:對于整數(shù)X,設(shè)[X]補是它的補碼表示,n是碼長,則0只有一種補碼表示:當(dāng)n=8,則[X]補的表示范圍是[-128,127]。

X 0≤X≤2n-1-1[X]補=2n-|X| -2n-1

≤X〈0計算機科學(xué)導(dǎo)論27計算機中數(shù)據(jù)的表示計算機中常用的數(shù)據(jù)表示格式有兩種,一是定點格式,二是浮點格式。所謂定點數(shù)和浮點數(shù),是指在計算機中一個數(shù)的小數(shù)點的位置是固定的還是浮動的。采用定點數(shù)表示法的計算機稱為定點計算機,采用浮點數(shù)表示法的計算機稱為浮點計算機。計算機科學(xué)導(dǎo)論28計算機中數(shù)據(jù)的表示數(shù)值數(shù)據(jù)的表示假設(shè)用一個n位字來表示一個定點數(shù)x=x0x1x2…xn-1,其中一位x0用來表示數(shù)的符號位,其余位數(shù)代表它的量值。計算機科學(xué)導(dǎo)論29計算機中數(shù)據(jù)的表示定點數(shù)表示S為尾數(shù)的符號位,放在最高一位;E為階碼,緊跟在符號位之后,占m位;M為尾數(shù),放在低位部分,占n位。計算機科學(xué)導(dǎo)論30計算機中數(shù)據(jù)的表示浮點數(shù)表示非數(shù)值數(shù)據(jù),通常指的是字符、字符串、圖形符號、漢字等數(shù)據(jù),它們并不用來表示數(shù)值的大小,一般情況下也不對它們進(jìn)行算術(shù)運算。計算機科學(xué)導(dǎo)論31計算機中數(shù)據(jù)的表示非數(shù)值數(shù)據(jù)的表示在計算機中怎樣表示符號和英文字母?一種常用的標(biāo)準(zhǔn)表示是ASCII(AmericanStandardCodeforInformationInterchange)碼。ASCII碼用一個字節(jié)來表示一個符號或字母。這個字節(jié)的二進(jìn)制表示本身是一個數(shù),稱為對應(yīng)的碼值。常規(guī)ASCII碼將這個字節(jié)的最高位(從左邊數(shù)第一位)用做奇偶校驗,其他7位可以表示128種符號和字母。擴(kuò)展ASCII碼將這個字節(jié)全部用來表示,因此可表示256種符號和字母,其中前128種與常規(guī)ASCII碼相同。目前常用的是擴(kuò)展ASCII碼。計算機科學(xué)導(dǎo)論32計算機中數(shù)據(jù)的表示在計算機中怎樣表示符號和英文字母?從計算機鍵盤輸入的字母、數(shù)字和符號,都被自動轉(zhuǎn)換成對應(yīng)的ASCII碼值。例如(采用擴(kuò)展ASCII碼):字母R:(2),即82(10)或52(16)字母

r:(2),即114(10)或72(16)數(shù)字3:(2),即51(10)或33(16)符號%:(2),即37(10)或25(16)計算機科學(xué)導(dǎo)論33計算機中數(shù)據(jù)的表示在計算機中怎樣表示漢字?漢字的種類遠(yuǎn)比256種多,何況也不能占用ASCII碼已經(jīng)使用的碼值。目前采用兩個字節(jié)來表示一個漢字。漢字的編碼規(guī)則還沒有統(tǒng)一。在我國大陸采用的標(biāo)準(zhǔn)是GB2312。國內(nèi)的計算機都支持漢字輸入與輸出,用戶可用多種方法輸入漢字(如拼音、五筆字形等)。國際組織已經(jīng)制定了一種Unicode標(biāo)準(zhǔn),也是采用兩個字節(jié)來表示一個數(shù)字、字母、符號或文字,并為中文、日文等都分配了相應(yīng)的碼段(碼值連續(xù)的區(qū)間),以實現(xiàn)各種文字的國際交流。計算機科學(xué)導(dǎo)論34計算機中數(shù)據(jù)的表示35計算機運算基礎(chǔ)計算機科學(xué)導(dǎo)論數(shù)據(jù)運算與數(shù)據(jù)存儲數(shù)據(jù)存儲與數(shù)據(jù)運算是計算機的基本功能。數(shù)據(jù)在計算機中以器件的物理狀態(tài)表示,采用二進(jìn)制數(shù)字系統(tǒng),計算機處理所有的字符或符號也要用二進(jìn)制編碼來表示。計算機中二進(jìn)制數(shù)的四則運算仿照十進(jìn)制數(shù)的運算規(guī)則,可以做二進(jìn)制數(shù)的加法。用計算機做二進(jìn)制數(shù)的減法:?用計算機做二進(jìn)制數(shù)的乘法:把被乘數(shù)累加乘數(shù)那么多次即可(例:2*3=2+2+2)。用計算機做二進(jìn)制數(shù)的除法:反復(fù)在被除數(shù)中減去除數(shù)、直到小于除數(shù),減的次數(shù)即為商,剩下為余數(shù)(例:7/3,7-3-3=1,商為2,余數(shù)為1)。

11100+)

110111

16+8+4=2832+16+4+2+1=5564+16+2+1=83 計算機科學(xué)導(dǎo)論36數(shù)據(jù)運算與數(shù)據(jù)存儲補碼運算規(guī)則已經(jīng)證明,對于數(shù)X和

Y,(X+Y)(補)=X(補)+Y(補),(X-Y)(補)=X(補)+(-Y)(補)兩個數(shù)相加減,只需進(jìn)行包括符號位在內(nèi)的補碼相加:

(-27)(補)=

(10011011→11100100→11100101)

(-1)(補)=

(10000001→11111110→11111111) (-26)(補)=

(10011010→11100101→11100110)

(-25)(補)=

11100111

(10011001→11100110→11100111)26-27=-1

+)11100101

26-26=0

+)11100110

26-25=1

+)11100111

計算機科學(xué)導(dǎo)論37數(shù)據(jù)運算與數(shù)據(jù)存儲溢出注意,當(dāng)運算結(jié)果的絕對值超過了數(shù)值位的表示范圍時,可能出現(xiàn)溢出(overflow)。例如:

(100)(補)=

(-100)(補)=

(11100100→10011011→10011100)(-100)-100

+)10011100

100+100

+)0110010011001000溢出計算機科學(xué)導(dǎo)論38數(shù)據(jù)運算與數(shù)據(jù)存儲數(shù)據(jù)運算算術(shù)運算:當(dāng)兩個二進(jìn)制數(shù)碼表示兩個數(shù)量大小時,它們之間可以進(jìn)行數(shù)值運算,這種運算稱為算術(shù)運算二值邏輯:只有兩種對立狀態(tài)的邏輯關(guān)系邏輯運算:當(dāng)兩個二進(jìn)制數(shù)碼表示不同的邏輯狀態(tài)進(jìn)行的運算計算機科學(xué)導(dǎo)論39數(shù)據(jù)運算與數(shù)據(jù)存儲邏輯運算利用邏輯運算可以進(jìn)行兩個數(shù)的比較,或者從某個數(shù)中選取某幾位等操作。計算機中的邏輯運算主要包括邏輯非、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論