版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章C語言程序設(shè)計(jì)預(yù)備知識(shí)制作人:王敬華教材、參考書與課時(shí)安排教材C語言程序設(shè)計(jì)教程(第2版)王敬華編著清華大學(xué)出版社參考書C語言程序設(shè)計(jì)教程(第2版)習(xí)題解答與實(shí)驗(yàn)指導(dǎo)王敬華編著清華大學(xué)出版社C語言程序設(shè)計(jì)(第2版)
譚浩強(qiáng)高等教育出版社C高級(jí)實(shí)用程序設(shè)計(jì)王士元清華大學(xué)出版社課時(shí)安排授課:54學(xué)時(shí)上機(jī):36學(xué)時(shí)學(xué)習(xí)要求及成績(jī)構(gòu)成學(xué)習(xí)要求課前請(qǐng)做好預(yù)習(xí),課后請(qǐng)做好復(fù)習(xí)保持課堂安靜,頭腦清醒,思維活躍認(rèn)真、獨(dú)立、按時(shí)完成并提交作業(yè)重視上機(jī)實(shí)踐,有效利用寶貴的上機(jī)時(shí)間成績(jī)構(gòu)成平時(shí)考勤:10%
平時(shí)作業(yè):10%平時(shí)上機(jī):20%
期末考試:上機(jī)考10%+筆考50%第1章:C語言程序設(shè)計(jì)預(yù)備知識(shí)
學(xué)習(xí)的意義
1、什么是計(jì)算機(jī)?
計(jì)算機(jī)是以邏輯部件為物質(zhì)基礎(chǔ),能夠?qū)π畔⑦M(jìn)行自動(dòng)處理的機(jī)器。邏輯部件其實(shí)就是指計(jì)算機(jī)的硬件系統(tǒng),而對(duì)信息的自動(dòng)處理則是由計(jì)算機(jī)的軟件系統(tǒng)來實(shí)現(xiàn)的
2、何為“信息”?
“信息”包括的范圍很廣,它可以是數(shù)字、文字、圖像、聲音等
3、計(jì)算機(jī)中如何表示“信息”?
不管哪種類型的信息在計(jì)算機(jī)中最終都是以二進(jìn)制數(shù)據(jù)信息來表示和處理
101010111111…….語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C4、什么是C語言?結(jié)論:
C語言就是編制計(jì)算機(jī)軟件的開發(fā)工具。具體就是對(duì)這些信息進(jìn)行處理的軟件工具。
除了:
了解計(jì)算機(jī)硬件系統(tǒng)的組成(因?yàn)橛布擒浖奈镔|(zhì)基礎(chǔ))。了解計(jì)算機(jī)軟件系統(tǒng)的組成(因?yàn)檐浖怯布撵`魂)。
更重要的是:了解二進(jìn)制數(shù)在計(jì)算機(jī)中的表示形式、表示范圍以及二進(jìn)制數(shù)的算術(shù)運(yùn)算和邏輯運(yùn)算,另外就是數(shù)據(jù)在計(jì)算機(jī)中是如何存儲(chǔ)的。
學(xué)好C語言必須掌握的基礎(chǔ)知識(shí)!??!語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C學(xué)習(xí)目標(biāo)
了解計(jì)算機(jī)的系統(tǒng)組成及工作原理;掌握二進(jìn)制數(shù)的表示及二進(jìn)制數(shù)與其它進(jìn)制數(shù)的轉(zhuǎn)換方法;掌握機(jī)器數(shù)的表示形式和表示范圍,特別是補(bǔ)碼表示形式;掌握補(bǔ)碼的加、減運(yùn)算方法;掌握二進(jìn)制數(shù)的位運(yùn)算方法;
這些是更好地理解和掌握C語言數(shù)據(jù)類型(第3章)的基礎(chǔ)。語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C學(xué)習(xí)內(nèi)容
計(jì)算機(jī)系統(tǒng)組成及工作原理簡(jiǎn)介進(jìn)位計(jì)數(shù)制及其轉(zhuǎn)換(二進(jìn)制、八進(jìn)制、十六進(jìn)制)機(jī)器數(shù)的表示形式及其表示范圍(原碼、補(bǔ)碼、反碼)二進(jìn)制數(shù)的位運(yùn)算(與、或、非、異或)本章小結(jié)語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C1.1計(jì)算機(jī)系統(tǒng)組成及工作原理簡(jiǎn)介計(jì)算機(jī)系統(tǒng)
硬件系統(tǒng)軟件系統(tǒng)
運(yùn)算器控制器存儲(chǔ)器輸入設(shè)備輸出設(shè)備內(nèi)存外存CPU主機(jī)外圍設(shè)備系統(tǒng)軟件應(yīng)用軟件
硬件是指構(gòu)成計(jì)算機(jī)的物理裝置,看得見、摸得著,是一些實(shí)實(shí)在在的有形實(shí)體
軟件是指計(jì)算機(jī)程序及有關(guān)程序的技術(shù)文檔資料語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C硬件系統(tǒng)的基本組成及工作原理輸入設(shè)備內(nèi)存儲(chǔ)器外存儲(chǔ)器運(yùn)算器控制器輸出設(shè)備信息(如程序、原始數(shù)據(jù))(存)數(shù)據(jù)(取)數(shù)據(jù)運(yùn)算命令輸出命令輸出信息(存)數(shù)據(jù)存取指令程序指令數(shù)據(jù)輸入指令數(shù)據(jù)信息控制信息語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C(1)運(yùn)算器
(ALU-ArithmeticLogicUnit)
運(yùn)算器又稱算術(shù)邏輯部件,簡(jiǎn)稱ALU,是計(jì)算機(jī)用來進(jìn)行數(shù)據(jù)運(yùn)算的部件。數(shù)據(jù)運(yùn)算包括算術(shù)運(yùn)算和邏輯運(yùn)算,后者常被忽視,但恰恰是邏輯運(yùn)算使計(jì)算機(jī)能進(jìn)行因果關(guān)系分析。一般運(yùn)算器都具有邏輯運(yùn)算能力
(2)控制器
(Controller)
控制器是計(jì)算機(jī)的指揮系統(tǒng),計(jì)算機(jī)的工作就是在控制器控制下有條不紊協(xié)調(diào)工作的。控制器通過地址訪問存儲(chǔ)器,逐條取出選中單元的指令,分析指令,根據(jù)指令產(chǎn)生相應(yīng)的控制信號(hào)作用于其它各個(gè)部件,控制其它部件完成指令要求的操作。上述過程周而復(fù)始,保證了計(jì)算機(jī)能自動(dòng)、連續(xù)地工作
語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C
一般把運(yùn)算器和控制器做在一塊集成電路芯片上,稱為中央處理器,簡(jiǎn)稱為CPU(CentralProcessingUnit)。它是計(jì)算機(jī)核心和關(guān)鍵,計(jì)算機(jī)的性能主要取決于CPU。
(3)存儲(chǔ)器
(Memory)
存儲(chǔ)器是計(jì)算機(jī)中具有記憶能力的部件,用來存放程序或數(shù)據(jù)。程序和數(shù)據(jù)是兩種不同的信息,應(yīng)放在不同的地方,兩者不可混淆。指令總是送到控制器,而數(shù)據(jù)則總是送到運(yùn)算器。存儲(chǔ)器就是一種能根據(jù)地址接收或提供指令或數(shù)據(jù)的裝置。
存儲(chǔ)器可分為兩大類:即內(nèi)存儲(chǔ)器和外存儲(chǔ)器。
語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C
內(nèi)存儲(chǔ)器簡(jiǎn)稱內(nèi)存,又稱主存,是CPU能根據(jù)地址線直接尋址的存儲(chǔ)空間,是計(jì)算機(jī)內(nèi)部存放數(shù)據(jù)的硬件設(shè)備,是程序和數(shù)據(jù)存儲(chǔ)的基本要素,由半導(dǎo)體器件制成。內(nèi)存中存放數(shù)據(jù)是以相應(yīng)的內(nèi)存單元為單位進(jìn)行存放的,內(nèi)存單元的大小可以是一個(gè)字節(jié),也可以是多個(gè)字節(jié),每個(gè)內(nèi)存單元都有一個(gè)編號(hào),它表示該內(nèi)存單元所對(duì)應(yīng)的內(nèi)存地址。內(nèi)存的特點(diǎn)是存取速度快,基本上能與CPU速度相匹配。
外存儲(chǔ)器簡(jiǎn)稱外存,它作為一種輔助存儲(chǔ)設(shè)備,主要用來存放一些暫時(shí)不用而又需常期保存的程序或數(shù)據(jù)。當(dāng)需要執(zhí)行外存中的程序或處理外存中的數(shù)據(jù)時(shí),必須通過CPU輸入/輸出指令,將其調(diào)入內(nèi)存中才能被CPU執(zhí)行處理,所以外存實(shí)際上屬于輸入/輸出設(shè)備。語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C(4)輸入設(shè)備
(InputDevice)
輸入設(shè)備是用來輸入程序和數(shù)據(jù)的部件。常見的輸入設(shè)備有:鍵盤、鼠標(biāo)、麥克風(fēng)、掃描儀、手寫板、數(shù)碼相機(jī)、攝像頭等。(5)輸出設(shè)備
(OutputDevice)
輸出設(shè)備正好與輸入設(shè)備相反,是用來輸出結(jié)果的部件。要求輸出設(shè)備能以人們所能接受的形式輸出信息,如以文字、圖形的形式在顯示器上輸出。除顯示器外,常用的輸出設(shè)備還有音箱、打印機(jī)、繪圖儀等。語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C計(jì)算機(jī)的工作原理:
各種各樣的信息,通過輸入設(shè)備,進(jìn)入計(jì)算機(jī)的存儲(chǔ)器,然后送到運(yùn)算器,運(yùn)算完畢把結(jié)果送到存儲(chǔ)器存儲(chǔ),最后通過輸出設(shè)備顯示出來。整個(gè)過程由控制器進(jìn)行控制。軟件系統(tǒng)的組成及分類
軟件是指計(jì)算機(jī)程序及有關(guān)程序的技術(shù)文檔資料。兩者中更為重要的是程序,它是計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理的指令集,也是計(jì)算機(jī)正常工作最重要的因素。在不太嚴(yán)格情況下,認(rèn)為程序就是軟件。
根據(jù)軟件用途將其分為兩大類:系統(tǒng)軟件和應(yīng)用軟件語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C(1)系統(tǒng)軟件
系統(tǒng)軟件是指管理、監(jiān)控、維護(hù)計(jì)算機(jī)正常工作和供用戶操作使用計(jì)算機(jī)的軟件。這類軟件一般與具體應(yīng)用無關(guān),是在系統(tǒng)一級(jí)上提供的服務(wù)。系統(tǒng)軟件主要包括以下兩類:一類是面向計(jì)算機(jī)本身的軟件,如操作系統(tǒng)、診斷程序等。另一類是面向用戶的軟件,如各種語言處理程序(象BC、VC等)、實(shí)用程序、字處理程序等。(2)應(yīng)用軟件
應(yīng)用軟件是指某特定領(lǐng)域中的某種具體應(yīng)用,供最終用戶使用的軟件,它必須在操作系統(tǒng)的基礎(chǔ)上運(yùn)行。如財(cái)務(wù)報(bào)表軟件、數(shù)據(jù)庫應(yīng)用軟件等。初學(xué)C語言的讀者主要任務(wù)是學(xué)習(xí)如何編寫應(yīng)用軟件。語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C軟件與硬件的關(guān)系
硬件和軟件是一個(gè)完整的計(jì)算機(jī)系統(tǒng)互相依存的兩大部分,它們的關(guān)系主要體現(xiàn)在以下幾個(gè)方面。
(1)硬件和軟件互相依存。
硬件是軟件賴以工作的物質(zhì)基礎(chǔ),軟件的正常工作是硬件發(fā)揮作用的惟一途徑,軟件是用戶與機(jī)器的接口。計(jì)算機(jī)系統(tǒng)必須要配備完善的軟件系統(tǒng)才能正常工作,且充分發(fā)揮其硬件的各種功能。
(2)硬件和軟件無嚴(yán)格界線。隨著計(jì)算機(jī)技術(shù)的發(fā)展,在許多情況下,計(jì)算機(jī)的某些功能既可以由硬件實(shí)現(xiàn),也可以由軟件來實(shí)現(xiàn)。因此,硬件與軟件在一定意義上說沒有絕對(duì)嚴(yán)格的界線。
(3)硬件和軟件協(xié)同發(fā)展。
計(jì)算機(jī)軟件隨著硬件技術(shù)的迅速發(fā)展而發(fā)展,而軟件的不斷發(fā)展與完善又促進(jìn)硬件的更新,兩者密切地交織發(fā)展,缺一不可。語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C1.2進(jìn)位計(jì)數(shù)制及其轉(zhuǎn)換
數(shù)碼、基與權(quán)
數(shù)碼:表示數(shù)的符號(hào)
基數(shù):數(shù)碼的個(gè)數(shù)
權(quán):每一位所具有的值數(shù)制語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C數(shù)制基權(quán)表示數(shù)碼特點(diǎn)10o,101,102,…十進(jìn)制數(shù)0~910逢十進(jìn)一二進(jìn)制數(shù)0~122o,21,22,…逢二進(jìn)一八進(jìn)制數(shù)0~788o,81,82,…逢八進(jìn)一十六進(jìn)制數(shù)0~9,A~F,a~f1616o,161,162,…逢十六進(jìn)一十進(jìn)制:4956=4103+9102+5101+610o二進(jìn)制:1011=123+022+121+12o十六進(jìn)制:81AE=8163+1162+10161+1416o八進(jìn)制:4275=483+282+781+58o語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C進(jìn)制之間的相互轉(zhuǎn)換二進(jìn)制、八進(jìn)制、十六進(jìn)制轉(zhuǎn)換成十進(jìn)制
方法:按權(quán)相加語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C進(jìn)制之間的相互轉(zhuǎn)換二進(jìn)制、八進(jìn)制、十六進(jìn)制轉(zhuǎn)換成十進(jìn)制
方法:按權(quán)相加十進(jìn)制轉(zhuǎn)換成二進(jìn)制、八進(jìn)制、十六進(jìn)制步驟:首先進(jìn)行整數(shù)部分轉(zhuǎn)換,然后進(jìn)行小數(shù)部分轉(zhuǎn)換。(1)整數(shù)部分轉(zhuǎn)換原理:方法:連續(xù)除以基,從低到高記錄余數(shù),直至商為0語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C整數(shù)部分轉(zhuǎn)換舉例例把十進(jìn)制數(shù)59轉(zhuǎn)換成二進(jìn)制數(shù)5922921427232120(59)10=(111011)2110111111011余余余余余余第一次得到的余數(shù)是最低位最后得到的余數(shù)是最高位例把十進(jìn)制數(shù)159轉(zhuǎn)換成八進(jìn)制數(shù)1598198280(159)10=(237)8237余7余3余2例把十進(jìn)制數(shù)459轉(zhuǎn)換成十六進(jìn)制數(shù)4591628161160(459)10=(1CB)161CB余11余12余1語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C
(2)小數(shù)部分轉(zhuǎn)換原理:方法:連續(xù)乘以基,從高到低記錄整數(shù)部分,直至結(jié)果的小數(shù)部分為0
在十進(jìn)制的小數(shù)部分轉(zhuǎn)換中,有時(shí)連續(xù)乘以2不一定能使小數(shù)部分等于0,這說明該十進(jìn)制小數(shù)不能用有限位二進(jìn)制小數(shù)表示。這時(shí),只要取足夠多的位數(shù),使其誤差達(dá)到所要求的精度就可以了。
例將十進(jìn)制數(shù)0.8125轉(zhuǎn)換成二進(jìn)制
0.8125×2=1.625(b1=1)最高小數(shù)位
0.625×2=1.25(b2=1)
0.25×2=0.5(b3=0)
0.5×2=1.0(b4=1)最低小數(shù)位
所以(0.8125)10
=(0.1101)2注意:對(duì)于小數(shù)部分的轉(zhuǎn)換式中的整數(shù)不參加連乘,第一次乘以2所得到的整數(shù)部分是二進(jìn)制數(shù)小數(shù)的最高位,最后所得到的整數(shù)部分是二進(jìn)制數(shù)小數(shù)的最低位。例將十進(jìn)制數(shù)0.8123轉(zhuǎn)換成二進(jìn)制
0.8123×2=1.6246(b1=1)最高小數(shù)位
0.6246×2=1.2492(b2=1)
0.2492×2=0.4984(b3=0)
0.4984×2=0.9968(b4=0)最低小數(shù)位
…………
所以(0.8123)10
≈(0.1100)2例將十進(jìn)制數(shù)0.8123轉(zhuǎn)換成八進(jìn)制
0.8123×8=6.4984(b1=6)最高小數(shù)位
0.4984×8=3.9872(b2=3)
0.9872×8=7.8976(b3=7)
0.8976×8=7.1808(b4=7)最低小數(shù)位
…………
所以(0.8123)10
≈(0.6377)8語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C二進(jìn)制八進(jìn)制
方法:從小數(shù)點(diǎn)開始,分別向左、右按3位分組轉(zhuǎn)換成對(duì)應(yīng)的八進(jìn)制數(shù)字字符,最后不滿3位的,則需補(bǔ)0。
二進(jìn)制、八進(jìn)制、十六進(jìn)制之間的轉(zhuǎn)換000~0001~1010~2011~3100~4101~5110~6111~7例將二進(jìn)制數(shù)(1101101.10101)2轉(zhuǎn)換成八進(jìn)制數(shù)所以(1101101.10101)2
=(155.52)8二進(jìn)制數(shù):
001
101
101.101
0101八進(jìn)制數(shù):55.52語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C八進(jìn)制二進(jìn)制
方法:將每位八進(jìn)制數(shù)用3位二進(jìn)制表示即可。
二進(jìn)制、八進(jìn)制、十六進(jìn)制之間的轉(zhuǎn)換000~0001~1010~2011~3100~4101~5110~6111~7例將八進(jìn)制數(shù)(345.64)8轉(zhuǎn)換成二進(jìn)制數(shù)所以(345.64)2
=(11100101.1101)2八進(jìn)制數(shù):3
4
5.6
4011二進(jìn)制數(shù):100101.110100語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C二進(jìn)制十六進(jìn)制
方法:從小數(shù)點(diǎn)開始,分別向左、右按4位分組轉(zhuǎn)換成對(duì)應(yīng)的十六進(jìn)制數(shù)字字符,最后不滿4位的,則需補(bǔ)0。
二進(jìn)制、八進(jìn)制、十六進(jìn)制之間的轉(zhuǎn)換例將二進(jìn)制數(shù)(1101101.10101)2轉(zhuǎn)換成16進(jìn)制數(shù)所以(1101101.10101)2
=(6D.A8)16二進(jìn)制數(shù):
0110
1101.1010
10006十六進(jìn)制數(shù):D.A80000~00001~10010~20011~30100~40101~50110~60111~71000~81001~91010~A1011~B1100~C1101~D1110~E1111~F語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C十六進(jìn)制二進(jìn)制
方法:將每位十六進(jìn)制數(shù)用4位二進(jìn)制表示即可。
二進(jìn)制、八進(jìn)制、十六進(jìn)制之間的轉(zhuǎn)換例將十六進(jìn)制數(shù)(A9D.6C)16轉(zhuǎn)換成二進(jìn)制數(shù)所以(A9D.6C)2
=(101010011101.011011)2十六進(jìn)制數(shù):A
9
D.6
C1010二進(jìn)制數(shù):0000~00001~10010~20011~30100~40101~50110~60111~71000~81001~91010~A1011~B1100~C1101~D1110~E1111~F10011101.01101100請(qǐng)問……….????(9FDA.4B)16=(__________)8(256)7=(___________)6語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C1.3機(jī)器數(shù)的表示形式及其表示范圍真值與機(jī)器數(shù)
真值:一個(gè)帶符號(hào)數(shù)由兩部分組成:一部分表示數(shù)的符號(hào),另一部分表示數(shù)的數(shù)值。一般,直接用正號(hào)“+”和負(fù)號(hào)“-”來表示符號(hào)的二進(jìn)制數(shù),叫做符號(hào)數(shù)的真值。
機(jī)器數(shù):計(jì)算機(jī)中的數(shù)是用二進(jìn)制來表示的,數(shù)的符號(hào)也是用二進(jìn)制來表示的。把一個(gè)數(shù)連同其符號(hào)在內(nèi)在機(jī)器中的表示加以數(shù)值化,這樣的數(shù)稱為機(jī)器數(shù)。
一般用最高有效位來表示數(shù)的符號(hào),正數(shù)用0表示,負(fù)數(shù)用1表示。
真值:+1011-1011機(jī)器數(shù):0101111011數(shù)值符號(hào)數(shù)值符號(hào)
機(jī)器數(shù)的表示形式原碼補(bǔ)碼反碼語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C1.3機(jī)器數(shù)的表示形式及其表示范圍原碼原碼又稱為“符號(hào)-數(shù)值表示”。在以原碼形式表示的正數(shù)和負(fù)數(shù)中,第1位表示符號(hào)位,對(duì)于正數(shù),符號(hào)位記為0,對(duì)于負(fù)數(shù),符號(hào)位記為1,其余各位表示數(shù)值部分。例:N1=+10011N2=-01010[N1]原=010011[N2]原=101010
根據(jù)上述原碼形成規(guī)則,一個(gè)n位的整數(shù)N(包含一位符號(hào)位)的原碼一般表示為:
N0≤N<2n-1[N]原=
2n-1
-N-2n-1
<N≤0語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C1.3機(jī)器數(shù)的表示形式及其表示范圍原碼
對(duì)于這樣的n位整數(shù)其原碼表示的數(shù)的范圍為:-(2n-1-1)~(2n-1
-1)。
N0≤N<1[N]原=
1-N-1<N≤0111………1n-1個(gè)1011………1n-1個(gè)1對(duì)于定點(diǎn)小數(shù),通常小數(shù)點(diǎn)定在最高位的左邊,這時(shí)數(shù)值小于1。定點(diǎn)小數(shù)原碼一般表示為:對(duì)于這樣的m位小數(shù)(含一符號(hào)位)其原碼表示數(shù)的范圍為:-(1-
2-(m-1))~(1-2-(m-1))。語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C1.3機(jī)器數(shù)的表示形式及其表示范圍原碼1.11………1m-1個(gè)10.11………1m-1個(gè)1總結(jié):當(dāng)N為正數(shù)時(shí),[N]原和N的區(qū)別只是增加一位用0表示的符號(hào)位。由于在數(shù)的左邊增加一位0對(duì)該數(shù)的數(shù)值并無影響,所以[N]原就是N本身。當(dāng)N為負(fù)數(shù)時(shí),[N]原和N的區(qū)別是增加一位用1表示的符號(hào)位。在原碼表示中,有兩種不同形式的0,即:
[+0]原=000…0或0.00…0[-0]原=100…0或1.00…0語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C1.3機(jī)器數(shù)的表示形式及其表示范圍反碼反碼又稱為“對(duì)1的補(bǔ)數(shù)”。用反碼表示時(shí),左邊第一位也是符號(hào)位,符號(hào)位為0代表正數(shù),符號(hào)位為1代表負(fù)數(shù),對(duì)于負(fù)數(shù),反碼的數(shù)值是將原碼數(shù)值按位求反,而對(duì)于正數(shù),反碼和原碼相同。所以,反碼數(shù)值的形成與它的符號(hào)位有關(guān)例:N1=+10011N2=-01010[N1]反=010011[N2]反=110101
根據(jù)上述反碼形成規(guī)則,一個(gè)n位的整數(shù)N(包含一位符號(hào)位)的反碼一般表示為:
N0≤N<2n-1[N]反=
(2n-1)+
N-2n-1
<N≤0語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C1.3機(jī)器數(shù)的表示形式及其表示范圍反碼
對(duì)于這樣的n位整數(shù)其反碼表示的數(shù)的范圍為:-(2n-1-1)~(2n-1
-1)。
N0≤N<1[N]反=
(2-2-m)+
N-1<N≤0100………0n-1個(gè)0011………1n-1個(gè)1對(duì)于定點(diǎn)小數(shù),若小數(shù)部分的位數(shù)為m位,則定點(diǎn)小數(shù)反碼一般表示為:對(duì)于這樣的m位小數(shù)(含一符號(hào)位)其反碼表示數(shù)的范圍為:-(1-
2-(m-1))~(1-2-(m-1))。語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C1.3機(jī)器數(shù)的表示形式及其表示范圍反碼1.00………0m-1個(gè)00.11………1m-1個(gè)1總結(jié):正數(shù)N的反碼[N]反與原碼[N]原相同。對(duì)于負(fù)數(shù)N,其反碼[N]反的的符號(hào)為1,數(shù)值部分是將原碼數(shù)值按位求反。在反碼表示中,有兩種不同形式的0,即:
[+0]反=000…0或0.00…0[-0]反=111…1或1.11…1語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C1.3機(jī)器數(shù)的表示形式及其表示范圍補(bǔ)碼補(bǔ)碼又稱為“對(duì)2的補(bǔ)數(shù)”。在補(bǔ)碼表示法中,正數(shù)的補(bǔ)碼表示同原碼和反碼的表示是相同的,而負(fù)數(shù)的補(bǔ)碼表示卻不同。對(duì)于負(fù)數(shù)的補(bǔ)碼,其符號(hào)位為1,而數(shù)值位是將原碼“按位求反,末位加1”。例:N1=+10011N2=-01010[N1]補(bǔ)=010011[N2]補(bǔ)=110110
根據(jù)上述補(bǔ)碼形成規(guī)則,一個(gè)n位的整數(shù)N(包含一位符號(hào)位)的補(bǔ)碼一般表示為:
N0≤N<2n-1[N]補(bǔ)=
2n
+
N-2n-1
≤N<
0注意:同原碼、反碼的區(qū)分!!!語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C1.3機(jī)器數(shù)的表示形式及其表示范圍補(bǔ)碼
對(duì)于這樣的n位整數(shù)其補(bǔ)碼表示的數(shù)的范圍為:-2n-1
~(2n-1
-1)。
N0≤N<1[N]補(bǔ)=
2+
N-1≤N<
0100………0n-1個(gè)0011………1n-1個(gè)1對(duì)于定點(diǎn)小數(shù),補(bǔ)碼一般表示為:對(duì)于這樣的m位小數(shù)(含一符號(hào)位)其補(bǔ)碼表示數(shù)的范圍為:-1~(1-2-(m-1))語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C1.3機(jī)器數(shù)的表示形式及其表示范圍補(bǔ)碼1.00………0m-1個(gè)00.11………1m-1個(gè)1總結(jié):正數(shù)N的補(bǔ)碼[N]補(bǔ)與原碼[N]原和反碼[N]反相同。對(duì)于負(fù)數(shù)N,其補(bǔ)碼[N]補(bǔ)的的符號(hào)為1,數(shù)值部分為反碼數(shù)值加1。在補(bǔ)碼表示法中,0的表示形式是唯一的,即:
[+0]補(bǔ)=000…0或0.00…0[-0]補(bǔ)=000…0或0.00…0注意:絕大多數(shù)機(jī)器數(shù)的表示采用補(bǔ)碼表示法。象C語言中整數(shù)在計(jì)算機(jī)中就是以其補(bǔ)碼的形式存儲(chǔ)的。語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C原碼反碼補(bǔ)碼+7000001110000011100000111-7100001111111100011111001+0000000000000000000000000-0100000001111111100000000數(shù)的范圍11111111~01111111(-127~+127)10000000~01111111(-127~+127)10000000~01111111(-128~+127)(用一字節(jié)表示數(shù))負(fù)數(shù)補(bǔ)碼轉(zhuǎn)換成十進(jìn)制數(shù):最高位不動(dòng),其余位取反加1例補(bǔ)碼:11111001
取反:10000110
加1:10000111=-7語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C1.3機(jī)器數(shù)的表示形式及其表示范圍補(bǔ)碼的加、減運(yùn)算由補(bǔ)碼的定義可以證明如下補(bǔ)碼加、減運(yùn)算規(guī)則:
[N1+N2]補(bǔ)=[N1]補(bǔ)+[N2]補(bǔ)
[N1-N2]補(bǔ)=[N1]補(bǔ)+[-N2]補(bǔ)運(yùn)算時(shí),符號(hào)位和數(shù)據(jù)位一樣參加運(yùn)算,如果符號(hào)位產(chǎn)生進(jìn)位,則需要將此進(jìn)位“丟掉”。運(yùn)算結(jié)果的符號(hào)位為0時(shí),說明是正數(shù)的補(bǔ)碼;運(yùn)算結(jié)果的符號(hào)為1時(shí),說明是負(fù)數(shù)的補(bǔ)碼。語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C1.3機(jī)器數(shù)的表示形式及其表示范圍補(bǔ)碼的加、減運(yùn)算例:已知N1=+10011,N2=-01010,求[N1+N2]補(bǔ)和[N1-N2]補(bǔ)。解:[N1+N2]補(bǔ)=[N1]補(bǔ)+[N2]補(bǔ)
=010011+110110=001001010011+)110110
丟掉←1001001語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C1.3機(jī)器數(shù)的表示形式及其表示范圍補(bǔ)碼的加、減運(yùn)算例:已知N1=+10011,N2=-01010,求[N1+N2]補(bǔ)和[N1-N2]補(bǔ)。解:[N1-N2]補(bǔ)=[N1]補(bǔ)+[-N2]補(bǔ)
=010011+001010=011101010011+)001010011101語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C1.3機(jī)器數(shù)的表示形式及其表示范圍無符號(hào)整數(shù)在某些情況下,要處理的數(shù)全是正數(shù),此時(shí)再保留符號(hào)位就沒有意義了。我們可以把最高有效位也作為數(shù)值處理,這樣的數(shù)稱為無符號(hào)數(shù)。
16位無符號(hào)數(shù)的表示范圍是:0≤N≤65535,
8位無符號(hào)數(shù)的表示范圍是:0≤N≤255。字符表示法計(jì)算機(jī)中處理的信息并不全是數(shù),有時(shí)需要處理字符或字符串,例如從鍵盤輸入的信息或打印輸出的信息都是字符方式輸入輸出的,因此,計(jì)算機(jī)必須能表示字符(例如,C語言中可通過定義字符型變量來存儲(chǔ)字符)。字符包括:語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C1.3機(jī)器數(shù)的表示形式及其表示范圍字符表示法
字母:A、B、…、Z,a、b、…、z;數(shù)字:0、1、…、9;專用字符:+、-、﹡、∕、↑、SP(space空格)、…
非打印字符:BEL(Bell響鈴)、LF(LineFeed換行)、CR(CarriageReturn回車)、…
這些字符在機(jī)器里必須用二進(jìn)制數(shù)來表示。計(jì)算機(jī)中常采用美國(guó)信息交換標(biāo)準(zhǔn)代碼ASCII(AmericanStandardCodeforInformationInterchange)來表示。這種代碼用一個(gè)字節(jié)(8位二進(jìn)制碼)來表示一個(gè)字符,其中低7位為字符的ASCII值,最高位一般用作校驗(yàn)位。在附錄5中給出了常用字符的ASCII值。語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C1.4二進(jìn)制數(shù)的位運(yùn)算邏輯變量
其值只能有0或1兩種取值的變量“與”運(yùn)算(AND)
“與”運(yùn)算又稱為邏輯乘,可用符號(hào)“·”或“∧”來表示,C語言中用“&”來表示。如有A、B兩個(gè)邏輯變量,可能有的取值情況只有4種。
位運(yùn)算主要包括:與(AND)、或(OR)、非(NOT)、異或(XOR)ABA&B000010100111結(jié)論:即只有A、B兩個(gè)變量取值均為1,則它們“與”運(yùn)算的結(jié)果才為1,其它均為0。
語言程序設(shè)計(jì)教程第二版第一章預(yù)備知識(shí)C1.4二進(jìn)制數(shù)的位運(yùn)算“或”運(yùn)算(OR)
“或”運(yùn)算又稱為邏輯加,可用符號(hào)“+”或“∨”來表示,C語言中用“|”來表示。如有A、B兩個(gè)邏輯變量,可能有的取值情況只有4種。ABA&B000011
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年定制培訓(xùn)空間租賃協(xié)議細(xì)則
- 2024年度戶外廣告牌使用協(xié)議
- 2024飲用水業(yè)務(wù)協(xié)議參考格式
- 2024建設(shè)項(xiàng)目造價(jià)分析服務(wù)協(xié)議
- DB11∕T 1711-2019 建設(shè)工程造價(jià)技術(shù)經(jīng)濟(jì)指標(biāo)采集標(biāo)準(zhǔn)
- 2024煤炭大宗交易協(xié)議模板例文
- 2024專業(yè)餐飲加盟經(jīng)營(yíng)協(xié)議樣本
- 2024年氧氣乙炔買賣協(xié)議范本
- 2024裝修公積金貸款協(xié)議條款樣本
- 2024年停車場(chǎng)綜合服務(wù)承包協(xié)議典范
- 書籍小兵張嘎課件
- 生鮮豬肉銷售合同模板
- 2024年經(jīng)濟(jì)師考試-中級(jí)經(jīng)濟(jì)師考試近5年真題集錦(頻考類試題)帶答案
- 2024年黑龍江哈爾濱市通河縣所屬事業(yè)單位招聘74人(第二批)易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 私募基金管理人-廉潔從業(yè)管理準(zhǔn)則
- 醫(yī)療器械質(zhì)量方針和目標(biāo)管理制度
- 北京市城管執(zhí)法行政處罰裁量區(qū)域分類管理臺(tái)帳
- 5.1+走近老師(課件)2024-2025學(xué)年七年級(jí)道德與法治上冊(cè)
- 退役軍人事務(wù)員職業(yè)技能理論考試復(fù)習(xí)題及答案
- 農(nóng)村農(nóng)產(chǎn)品加工行業(yè)市場(chǎng)需求分析及未來三年行業(yè)預(yù)測(cè)報(bào)告
- 識(shí)別界限 拒絕性騷擾 課件 2024-2025學(xué)年人教版(2024)初中體育與健康七年級(jí)全一冊(cè)
評(píng)論
0/150
提交評(píng)論