程序與數(shù)學(xué)數(shù)的故事_第1頁
程序與數(shù)學(xué)數(shù)的故事_第2頁
程序與數(shù)學(xué)數(shù)的故事_第3頁
程序與數(shù)學(xué)數(shù)的故事_第4頁
程序與數(shù)學(xué)數(shù)的故事_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第2章數(shù)的故事內(nèi)容提要計(jì)數(shù)方法數(shù)的表示數(shù)的運(yùn)算計(jì)算機(jī)中的二進(jìn)制數(shù)一、計(jì)數(shù)方法我們熟悉的計(jì)數(shù)法十進(jìn)制計(jì)數(shù)時(shí)間、日期計(jì)數(shù)天干地支八卦……一、計(jì)數(shù)方法各種計(jì)數(shù)法是可以互相轉(zhuǎn)換的比如:阿拉伯?dāng)?shù)字:13羅馬數(shù)字:XIII中文數(shù)字:壹拾叁天干地支:甲丑二、數(shù)的表示基數(shù)和指數(shù)以十進(jìn)制數(shù)為例32405=3x104+2x103+4x102+0x101+5x100十進(jìn)制數(shù)的基數(shù)(或底數(shù))為0、1、2、3、…十進(jìn)制數(shù)的每位數(shù)字的權(quán)值不同,權(quán)是10的指數(shù),從右至左依次為0、1、2、3……二、數(shù)的表示每一個(gè)基數(shù)用一個(gè)數(shù)碼符號(hào)表示數(shù)的表示(數(shù)碼)阿拉伯?dāng)?shù):0、1、2、3、4……羅馬計(jì)數(shù):I、II、III、IV、V、X、…漢語中的數(shù)字:零、壹、伍、拾、………二、數(shù)的表示“零”的問題阿拉伯?dāng)?shù):0、10、100、……漢語中的數(shù)字:零、拾、佰、仟…天干地支:沒有零羅馬數(shù)字:沒有零二、數(shù)的表示0是什么都沒有嗎?計(jì)數(shù)功能:0即沒有標(biāo)記功能:如0°C、海拔高度……0<1嗎?一般地,數(shù)字0<1標(biāo)記0沒有大小有時(shí)候,0可能大于1,比如數(shù)字電路中用0表示高電平,而用1表示低電平二、數(shù)的表示進(jìn)位計(jì)數(shù)法羅馬計(jì)數(shù)法不是進(jìn)位計(jì)數(shù)法,進(jìn)位沒有意義十進(jìn)制數(shù)

32405=3x104+2x103+4x102+0x101+5x100十六進(jìn)制數(shù)A20F=Ax163+2x102+0x161+Fx160二進(jìn)制數(shù)110101=1x25+1x24+0x23+1x22+0x21+1x20二、數(shù)的表示如果把10n理解為“n個(gè)10的乘機(jī)”如何理解100=1?能理解10-1=?可以理解20、2-1、2-2、…嗎?三、數(shù)的運(yùn)算進(jìn)位制運(yùn)算——算術(shù)運(yùn)算加法:逢十(二、十六)進(jìn)一減法:借一當(dāng)十(二、十六)如何計(jì)算大數(shù)加、減法?需要死記硬背嗎?靈活運(yùn)用規(guī)則三、數(shù)的運(yùn)算無進(jìn)位運(yùn)算——布爾運(yùn)算邏輯運(yùn)算是一種最基本的運(yùn)算可用布爾運(yùn)算表示與01000101或01001111異或01001110四、計(jì)算機(jī)中的二進(jìn)制數(shù)計(jì)算機(jī)中為什么使用二進(jìn)制數(shù)?巴貝奇的差分機(jī)使用十進(jìn)制馮·諾依曼計(jì)算機(jī)采用二進(jìn)制運(yùn)算規(guī)律簡單實(shí)現(xiàn)容易(設(shè)備部件造價(jià)低)可實(shí)現(xiàn)布爾運(yùn)算有沒有不足?四、計(jì)算機(jī)中的二進(jìn)制數(shù)數(shù)值轉(zhuǎn)換方法十進(jìn)制轉(zhuǎn)化為二進(jìn)制二進(jìn)制轉(zhuǎn)化為十進(jìn)制二進(jìn)制轉(zhuǎn)化為八進(jìn)制、十六進(jìn)制八進(jìn)制、十六進(jìn)制轉(zhuǎn)化為二進(jìn)制四、計(jì)算機(jī)中的二進(jìn)制數(shù)符號(hào)位計(jì)算機(jī)的字若字長為8,則35的內(nèi)存形式為00100011若字長為16,則為0000000000100011符號(hào)位將字的最高位作為符號(hào)位,0表示正數(shù),1表示負(fù)數(shù)四、計(jì)算機(jī)中的二進(jìn)制數(shù)原碼符號(hào)位表示正負(fù)數(shù),其他位是數(shù)的絕對值對應(yīng)的二進(jìn)制數(shù)若字長為8,則35的原碼為00100011-35的原碼為10100011利用原碼能實(shí)現(xiàn)算術(shù)運(yùn)算嗎?0的原碼是什么?“-0”問題四、計(jì)算機(jī)中的二進(jìn)制數(shù)反碼對于原碼,若符號(hào)位為0,則其他位不變,若符號(hào)位為1,則其他位取反,得到該原碼的反碼35的反碼為00100011-35的原碼為11011100利用反碼能實(shí)現(xiàn)算術(shù)運(yùn)算嗎?“-0”問題依然存在四、計(jì)算機(jī)中的二進(jìn)制數(shù)補(bǔ)碼整數(shù)的補(bǔ)碼和反碼相同,負(fù)數(shù)的補(bǔ)碼是反碼在最低位加1得到的35的補(bǔ)碼為00100011-35的補(bǔ)嗎為11011101利用補(bǔ)碼能實(shí)現(xiàn)算術(shù)運(yùn)算嗎?0的補(bǔ)碼是什么?“-0”問題還存在嗎?四、計(jì)算機(jī)中的二進(jìn)制數(shù)求補(bǔ)碼的原碼(真值)可以先把補(bǔ)碼轉(zhuǎn)化為反碼再轉(zhuǎn)化為原碼將補(bǔ)碼當(dāng)作“原碼”,按照相同的方法求“反碼”和“補(bǔ)碼”,該“補(bǔ)碼”就是原碼這一特性極大地節(jié)省了部件成本四、計(jì)算機(jī)中的二進(jìn)制數(shù)一個(gè)神奇的數(shù)若字長為8,則原碼有0~127、-0~-127共256個(gè),反碼也有256個(gè),他們都有一個(gè)特殊的“-0”補(bǔ)碼沒有“-0”,難道只有255個(gè)數(shù)嗎?10000000是誰的補(bǔ)碼?答案:-128。因此補(bǔ)碼的256個(gè)數(shù)是-128~127練習(xí)假設(shè)計(jì)算機(jī)的字長為8,試用二進(jìn)制補(bǔ)碼的加法運(yùn)算模擬計(jì)算67-149,給出計(jì)算過程請給出以下整數(shù)的補(bǔ)碼

127、1、-1、-127、-128考考你之一現(xiàn)有1000個(gè)裝滿水的一模一樣的瓶子,已知其中只有一個(gè)瓶子里的水有毒,做實(shí)驗(yàn)的小白鼠只要喝一點(diǎn)兒有毒的水就會(huì)在一周以后死掉。問需要多少只小白鼠才能在一周內(nèi)找出有毒的瓶子?1234…………9989991000(1)瓶子編號(hào)(2)編號(hào)用二進(jìn)制表示瓶子編號(hào)對應(yīng)二進(jìn)制數(shù)定長二進(jìn)制11000000000121000000000103110000000011………………9981111100110111110011099911111001111111100111100011111010001111101000(3)需要10只小白鼠(4)小白鼠只喝標(biāo)記為1的瓶子中的水000000000100000000100000000011..............................111110011011111001111111101000⑩⑨⑧⑦⑥⑤④③②①(5)把死掉的小白鼠標(biāo)出來(6)得到毒瓶子的編碼

0100110001 →305000000000100000000100000000011..............................111110011011111001111111101000⑩⑨⑧⑦⑥⑤④③②①考考你之一如果只有8只小白鼠,時(shí)間不限,怎么找有毒的瓶子?需要多長時(shí)間?五、編程中的“0”0有類型嗎?整數(shù)0、小數(shù)0.0、字符’\0’、字符串“”有什么區(qū)別?變量的初值都是0嗎?一個(gè)沒有初始化的變量的初值是多少?BASIC、FORTRAN中的變量C、JAVA中的變量五、編程中的“0”除以0異常問題程序執(zhí)行時(shí),若除數(shù)為0,則出現(xiàn)異常解決之道BASIC語言: ONERRORGOTO…Java語言: try{…..}

catch(e){….}C語言: if(div!=0){….}

else{….}六、二進(jìn)制數(shù)的乘法和除法怎樣計(jì)算二進(jìn)制數(shù)的乘法?例:試計(jì)算1101與1011的乘積(假設(shè)字長為8)1101X101111011101.

0000..1101...10001111結(jié)果為10001111可否用十進(jìn)制驗(yàn)證?思考:能編程嗎?六、二進(jìn)制數(shù)的乘法和除法用加法和移位實(shí)現(xiàn)二進(jìn)制數(shù)的乘法基本規(guī)則:要計(jì)算A、B的乘積S,首先令S各位為0,從左到右順序取B的一位,如果為0,則將S各位左移一位,如果為1,則將S與A相加后再將S左移一位,直到B最后一位六、二進(jìn)制數(shù)的乘法和除法要計(jì)算1101與1011的乘積(假設(shè)字長為8):開始,A=1101,B=1011,S=00000000B的第1位是1,S+A=1101,移位S=00011010B的第2位是0,移位S=00110100B的第3位是1,S+A=01000001,移位S=10000010B的第4位(最后)是1,S+A=10001111六、二進(jìn)制數(shù)的乘法和除法怎樣計(jì)算二進(jìn)制數(shù)的除法?例:試計(jì)算1010010除以111的商和余數(shù)即82/7=11余500001011111)01010010111...11010111.

1100111101六、二進(jìn)制數(shù)的乘法和除法用減法和移位實(shí)現(xiàn)二進(jìn)制數(shù)的除法設(shè)被除數(shù)為A、除數(shù)為B、商為Q、余數(shù)為R,Q和R初值為0。將A由左到右依次左移進(jìn)入R,每次移位進(jìn)入后比較R和B的值,如果R≥B,則將這一位的Q的值置1,然后從R中減去B(做補(bǔ)碼加法運(yùn)算),否則不做操作。Q與A移位同步進(jìn)行?!钡紸全部進(jìn)入R單元為止。六、二進(jìn)制數(shù)的乘法和除法令A(yù)=1010010,B=111,Q=R=0A左移1位進(jìn)入R,A=010010,R=1,因R<B,Q=0A左移,A=10010,R=10,因R<B,Q=0A左移,A=0010,R=101,因R<B,Q=0A左移,A=010,R=1010,因R>B,R=R-B=11,Q=1A左移,A=10,R=110,因R<B,Q=10A左移,A=0,R=1101,因R>B,R=R-B=110,Q=101A左移,A空,R=1100,因R>B,R=R-B=101,Q=1011考考你某明星到大學(xué)里搞活動(dòng),場面異?;鸨ㄈ撕芏啵珜W(xué)生素質(zhì)高,秩序井然?;顒?dòng)的組織者想知道到底來了多少人?你能幫他想想辦法嗎?考考你之二現(xiàn)有1000張1元紙幣,請?jiān)O(shè)法分裝在10個(gè)信封中,要求能用這些信封組合出任意不大于

溫馨提示

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

評論

0/150

提交評論