




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第一章第一章 緒論緒論清華大學(xué)清華大學(xué)鄭鄭 莉莉C+言語程序設(shè)計(jì) 前一頁 休息本章主要內(nèi)容本章主要內(nèi)容l計(jì)算機(jī)程序設(shè)計(jì)言語的開展計(jì)算機(jī)程序設(shè)計(jì)言語的開展l面向?qū)ο蟮姆椒嫦驅(qū)ο蟮姆椒╨面向?qū)ο蟮能浖_發(fā)面向?qū)ο蟮能浖_發(fā)l信息的表示與存儲信息的表示與存儲l程序的開發(fā)過程程序的開發(fā)過程 前一頁 休息計(jì)算機(jī)程序計(jì)算機(jī)程序l計(jì)算機(jī)的任務(wù)是用程序來控制的計(jì)算機(jī)的任務(wù)是用程序來控制的l程序是指令的集合。程序是指令的集合。l指令是計(jì)算機(jī)可以識別的命令。指令是計(jì)算機(jī)可以識別的命令。計(jì)算機(jī)言語的開展 前一頁 休息機(jī)器言語與匯編言語機(jī)器言語與匯編言語l由計(jì)算機(jī)硬件系統(tǒng)可以識別的二進(jìn)制由計(jì)算機(jī)硬件系統(tǒng)可以識別的二
2、進(jìn)制指令組成的言語稱為機(jī)器言語。指令組成的言語稱為機(jī)器言語。l計(jì)算機(jī)開展的初期,軟件工程師們只計(jì)算機(jī)開展的初期,軟件工程師們只能用機(jī)器言語來編寫程序。這一階段,能用機(jī)器言語來編寫程序。這一階段,在人類的自然言語和計(jì)算機(jī)編程言語在人類的自然言語和計(jì)算機(jī)編程言語之間存在著宏大的鴻溝。之間存在著宏大的鴻溝。l匯編言語將機(jī)器指令映射為一些可以匯編言語將機(jī)器指令映射為一些可以被人讀懂的助記符,如被人讀懂的助記符,如ADD、SUB等。等。l此時編程言語與人類自然言語間的鴻此時編程言語與人類自然言語間的鴻溝略有減少,但仍與人類的思想相差溝略有減少,但仍與人類的思想相差甚遠(yuǎn)。由于它的籠統(tǒng)層次太低,程序甚遠(yuǎn)。由
3、于它的籠統(tǒng)層次太低,程序員需求思索大量的機(jī)器細(xì)節(jié)。員需求思索大量的機(jī)器細(xì)節(jié)。計(jì)算機(jī)言語的開展 前一頁 休息高級言語高級言語高級言語屏蔽了機(jī)器的細(xì)節(jié),提高了高級言語屏蔽了機(jī)器的細(xì)節(jié),提高了言語的籠統(tǒng)層次,程序中可以采器具有言語的籠統(tǒng)層次,程序中可以采器具有一定涵義的數(shù)據(jù)命名和容易了解的執(zhí)行一定涵義的數(shù)據(jù)命名和容易了解的執(zhí)行語句。這使得在書寫程序時可以聯(lián)絡(luò)到語句。這使得在書寫程序時可以聯(lián)絡(luò)到程序所描畫的詳細(xì)事物。程序所描畫的詳細(xì)事物。計(jì)算機(jī)言語的開展 前一頁 休息面向?qū)ο蟮难哉Z面向?qū)ο蟮难哉Zl出發(fā)點(diǎn):出發(fā)點(diǎn):l更直接地描畫客觀世界中存在的事更直接地描畫客觀世界中存在的事物物(對象對象)以及它們之間
4、的關(guān)系。以及它們之間的關(guān)系。l特點(diǎn):特點(diǎn):l是高級言語。是高級言語。l將客觀事物看作具有屬性和行為的將客觀事物看作具有屬性和行為的對象。對象。l經(jīng)過籠統(tǒng)找出同一類對象的共同屬經(jīng)過籠統(tǒng)找出同一類對象的共同屬性和行為,構(gòu)成類。性和行為,構(gòu)成類。l經(jīng)過類的承繼與多態(tài)實(shí)現(xiàn)代碼重用經(jīng)過類的承繼與多態(tài)實(shí)現(xiàn)代碼重用計(jì)算機(jī)言語的開展 前一頁 休息面向?qū)ο蟮难哉Z面向?qū)ο蟮难哉Zl優(yōu)點(diǎn):優(yōu)點(diǎn):l使程序可以比較直接地反問題域的本使程序可以比較直接地反問題域的本來面目,軟件開發(fā)人員可以利用人類來面目,軟件開發(fā)人員可以利用人類認(rèn)識事物所采用的普通思想方法來進(jìn)認(rèn)識事物所采用的普通思想方法來進(jìn)展軟件開發(fā)。展軟件開發(fā)。計(jì)算機(jī)言
5、語的開展 前一頁 休息程序設(shè)計(jì)方法的開展歷程程序設(shè)計(jì)方法的開展歷程 面向過程的程序面向過程的程序設(shè)計(jì)方法設(shè)計(jì)方法l程序的目的:用于數(shù)學(xué)計(jì)算程序的目的:用于數(shù)學(xué)計(jì)算l主要任務(wù):設(shè)計(jì)求解問題的過程主要任務(wù):設(shè)計(jì)求解問題的過程l缺陷:對于龐大、復(fù)雜的程序難以開缺陷:對于龐大、復(fù)雜的程序難以開發(fā)和維護(hù)發(fā)和維護(hù)面向?qū)ο蟮姆椒?前一頁 休息程序設(shè)計(jì)方法的開展歷程程序設(shè)計(jì)方法的開展歷程面向過程的構(gòu)造化程面向過程的構(gòu)造化程序設(shè)計(jì)方法序設(shè)計(jì)方法l設(shè)計(jì)思緒設(shè)計(jì)思緒l自頂向下、逐漸求精。采用模塊分解自頂向下、逐漸求精。采用模塊分解與功能籠統(tǒng),自頂向下、分而治之。與功能籠統(tǒng),自頂向下、分而治之。l程序構(gòu)造:程序構(gòu)造:
6、l按功能劃分為假設(shè)干個根本模塊,構(gòu)按功能劃分為假設(shè)干個根本模塊,構(gòu)成一個樹狀構(gòu)造。成一個樹狀構(gòu)造。l各模塊間的關(guān)系盡能夠簡單,功能上各模塊間的關(guān)系盡能夠簡單,功能上相對獨(dú)立;每一模塊內(nèi)部均是由順序、相對獨(dú)立;每一模塊內(nèi)部均是由順序、選擇和循環(huán)三種根本構(gòu)造組成。選擇和循環(huán)三種根本構(gòu)造組成。l其模塊化實(shí)現(xiàn)的詳細(xì)方法是運(yùn)用子程其模塊化實(shí)現(xiàn)的詳細(xì)方法是運(yùn)用子程序。序。面向?qū)ο蟮姆椒?前一頁 休息程序設(shè)計(jì)方法的開展歷程程序設(shè)計(jì)方法的開展歷程面向過程的構(gòu)造化程序面向過程的構(gòu)造化程序設(shè)計(jì)方法設(shè)計(jì)方法l優(yōu)點(diǎn):優(yōu)點(diǎn):l有效地將一個較復(fù)雜的程序系統(tǒng)設(shè)計(jì)有效地將一個較復(fù)雜的程序系統(tǒng)設(shè)計(jì)義務(wù)分解成許多易于控制和處置的
7、子義務(wù)分解成許多易于控制和處置的子義務(wù),便于開發(fā)和維護(hù)。義務(wù),便于開發(fā)和維護(hù)。面向?qū)ο蟮姆椒?前一頁 休息程序設(shè)計(jì)方法的開展歷程程序設(shè)計(jì)方法的開展歷程 面向過程的構(gòu)造化程序面向過程的構(gòu)造化程序設(shè)計(jì)方法設(shè)計(jì)方法l缺陷:可重用性差、數(shù)據(jù)平安性差、缺陷:可重用性差、數(shù)據(jù)平安性差、難以開發(fā)圖形界面的運(yùn)用難以開發(fā)圖形界面的運(yùn)用l把數(shù)據(jù)和處置數(shù)據(jù)的過程分別為相互把數(shù)據(jù)和處置數(shù)據(jù)的過程分別為相互獨(dú)立的實(shí)體。獨(dú)立的實(shí)體。l當(dāng)數(shù)據(jù)構(gòu)造改動時,一切相關(guān)的處置當(dāng)數(shù)據(jù)構(gòu)造改動時,一切相關(guān)的處置過程都要進(jìn)展相應(yīng)的修正。過程都要進(jìn)展相應(yīng)的修正。l每一種相對于老問題的新方法都要帶每一種相對于老問題的新方法都要帶來額外的開銷
8、。來額外的開銷。l圖形用戶界面的運(yùn)用,很難用過程來圖形用戶界面的運(yùn)用,很難用過程來描畫和實(shí)現(xiàn),開發(fā)和維護(hù)都很困難。描畫和實(shí)現(xiàn),開發(fā)和維護(hù)都很困難。面向?qū)ο蟮姆椒?前一頁 休息程序設(shè)計(jì)方法的開展歷程程序設(shè)計(jì)方法的開展歷程 面向面向?qū)ο蟮姆椒▽ο蟮姆椒╨將數(shù)據(jù)及對數(shù)據(jù)的操作方法封裝在一將數(shù)據(jù)及對數(shù)據(jù)的操作方法封裝在一同,作為一個相互依存、不可分別的同,作為一個相互依存、不可分別的整體整體對象。對象。l對同類型對象籠統(tǒng)出其共性,構(gòu)成類。對同類型對象籠統(tǒng)出其共性,構(gòu)成類。l類經(jīng)過一個簡單的外部接口,與外界類經(jīng)過一個簡單的外部接口,與外界發(fā)生關(guān)系。發(fā)生關(guān)系。l對象與對象之間經(jīng)過音訊進(jìn)展通訊。對象與對象之
9、間經(jīng)過音訊進(jìn)展通訊。面向?qū)ο蟮姆椒?前一頁 休息程序設(shè)計(jì)方法的開展歷程程序設(shè)計(jì)方法的開展歷程 面向面向?qū)ο蟮姆椒▽ο蟮姆椒╨優(yōu)點(diǎn):優(yōu)點(diǎn):l程序模塊間的關(guān)系更為簡單,程序模程序模塊間的關(guān)系更為簡單,程序模塊的獨(dú)立性、數(shù)據(jù)的平安性就有了良塊的獨(dú)立性、數(shù)據(jù)的平安性就有了良好的保證。好的保證。l經(jīng)過承繼與多態(tài)性,可以大大提高程經(jīng)過承繼與多態(tài)性,可以大大提高程序的可重用性,使得軟件的開發(fā)和維序的可重用性,使得軟件的開發(fā)和維護(hù)都更為方便。護(hù)都更為方便。面向?qū)ο蟮姆椒?前一頁 休息面向?qū)ο蟮母靖拍蠲嫦驅(qū)ο蟮母靖拍?對象對象l普通意義上的對象:普通意義上的對象:l是現(xiàn)實(shí)世界中一個實(shí)踐存在的事物。是現(xiàn)實(shí)世界
10、中一個實(shí)踐存在的事物。l可以使有形的比如一輛汽車,也可以使有形的比如一輛汽車,也可以是無形的比如一項(xiàng)方案??梢允菬o形的比如一項(xiàng)方案。l是構(gòu)成世界的一個獨(dú)立單位,具有:是構(gòu)成世界的一個獨(dú)立單位,具有:l靜態(tài)特征:可以用某種數(shù)據(jù)來描畫靜態(tài)特征:可以用某種數(shù)據(jù)來描畫l動態(tài)特征:對象所表現(xiàn)的行為或具有動態(tài)特征:對象所表現(xiàn)的行為或具有的功能的功能面向?qū)ο蟮姆椒?前一頁 休息面向?qū)ο蟮母靖拍蠲嫦驅(qū)ο蟮母靖拍?對象對象l面向?qū)ο蠓椒ㄖ械膶ο螅好嫦驅(qū)ο蠓椒ㄖ械膶ο螅簂是系統(tǒng)中用來描畫客觀事物的一個實(shí)是系統(tǒng)中用來描畫客觀事物的一個實(shí)體,它是用來構(gòu)成系統(tǒng)的一個根本單體,它是用來構(gòu)成系統(tǒng)的一個根本單位。對象由一
11、組屬性和一組行為構(gòu)成。位。對象由一組屬性和一組行為構(gòu)成。l屬性:用來描畫對象靜態(tài)特征的數(shù)據(jù)屬性:用來描畫對象靜態(tài)特征的數(shù)據(jù)項(xiàng)。項(xiàng)。l行為:用來描畫對象動態(tài)特征的操作行為:用來描畫對象動態(tài)特征的操作序列。序列。面向?qū)ο蟮姆椒?前一頁 休息面向?qū)ο蟮母靖拍蠲嫦驅(qū)ο蟮母靖拍?類類l分類分類人類通常的思想方法人類通常的思想方法l分類所根據(jù)的原那么分類所根據(jù)的原那么籠統(tǒng)籠統(tǒng)l忽略事物的非本質(zhì)特征,只留意那些忽略事物的非本質(zhì)特征,只留意那些與當(dāng)前目的有關(guān)的本質(zhì)特征,從而找與當(dāng)前目的有關(guān)的本質(zhì)特征,從而找出事物的共性,把具有共同性質(zhì)的事出事物的共性,把具有共同性質(zhì)的事物劃分為一類,得出一個籠統(tǒng)的概念。物
12、劃分為一類,得出一個籠統(tǒng)的概念。l例如,石頭、樹木、汽車、房屋等都例如,石頭、樹木、汽車、房屋等都是人們在長期的消費(fèi)和生活實(shí)際中籠是人們在長期的消費(fèi)和生活實(shí)際中籠統(tǒng)出的概念。統(tǒng)出的概念。面向?qū)ο蟮姆椒?前一頁 休息面向?qū)ο蟮母靖拍蠲嫦驅(qū)ο蟮母靖拍?類類l面向?qū)ο蠓椒ㄖ械拿嫦驅(qū)ο蠓椒ㄖ械念愵恖具有一樣屬性和效力的一組對象的集合具有一樣屬性和效力的一組對象的集合l為屬于該類的全部對象提供了籠統(tǒng)的描為屬于該類的全部對象提供了籠統(tǒng)的描畫,包括屬性和行為兩個主要部分。畫,包括屬性和行為兩個主要部分。l類與對象的關(guān)系:類與對象的關(guān)系:猶如模具與鑄件之間的關(guān)系,一個屬于猶如模具與鑄件之間的關(guān)系,一個屬于
13、某類的對象稱為該類的一個實(shí)例。某類的對象稱為該類的一個實(shí)例。面向?qū)ο蟮姆椒?前一頁 休息面向?qū)ο蟮母靖拍蠲嫦驅(qū)ο蟮母靖拍?封封裝裝l把對象的屬性和效力結(jié)合成一個獨(dú)立把對象的屬性和效力結(jié)合成一個獨(dú)立的系統(tǒng)單位。的系統(tǒng)單位。l盡能夠隱蔽對象的內(nèi)部細(xì)節(jié)。對外構(gòu)盡能夠隱蔽對象的內(nèi)部細(xì)節(jié)。對外構(gòu)成一個邊境或者說一道屏障,只成一個邊境或者說一道屏障,只保管有限的對外接口使之與外部發(fā)生保管有限的對外接口使之與外部發(fā)生聯(lián)絡(luò)。聯(lián)絡(luò)。面向?qū)ο蟮姆椒?前一頁 休息面向?qū)ο蟮母靖拍蠲嫦驅(qū)ο蟮母靖拍?承承繼繼l承繼對于軟件復(fù)用有著重要意義,是承繼對于軟件復(fù)用有著重要意義,是面向?qū)ο蠹夹g(shù)可以提高軟件開發(fā)效率面向?qū)?/p>
14、象技術(shù)可以提高軟件開發(fā)效率的重要緣由之一。的重要緣由之一。l定義:特殊類的對象擁有其普通類的定義:特殊類的對象擁有其普通類的全部屬性與效力,稱作特殊類對普通全部屬性與效力,稱作特殊類對普通類的承繼。類的承繼。l例如:將輪船作為一個普通類,客輪例如:將輪船作為一個普通類,客輪便是一個特殊類。便是一個特殊類。面向?qū)ο蟮姆椒?前一頁 休息面向?qū)ο蟮母靖拍蠲嫦驅(qū)ο蟮母靖拍?多多態(tài)性態(tài)性l多態(tài)是指在普通類中定義的屬性或行多態(tài)是指在普通類中定義的屬性或行為,被特殊類承繼之后,可以具有不為,被特殊類承繼之后,可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為。同的數(shù)據(jù)類型或表現(xiàn)出不同的行為。這使得同一個屬性或行為
15、在普通類及這使得同一個屬性或行為在普通類及其各個特殊類中具有不同的語義。其各個特殊類中具有不同的語義。l例如:例如:l數(shù)的加法數(shù)的加法-實(shí)數(shù)的加法實(shí)數(shù)的加法 -復(fù)數(shù)的加法復(fù)數(shù)的加法面向?qū)ο蟮姆椒?前一頁 休息面向?qū)ο蟮能浖こ堂嫦驅(qū)ο蟮能浖こ蘬面向?qū)ο蟮能浖こ淌敲嫦驅(qū)ο蠓椒嫦驅(qū)ο蟮能浖こ淌敲嫦驅(qū)ο蠓椒ㄔ谲浖こ填I(lǐng)域的全面運(yùn)用。它包括在軟件工程領(lǐng)域的全面運(yùn)用。它包括:l面向?qū)ο蟮姆治雒嫦驅(qū)ο蟮姆治鯫OAl面向?qū)ο蟮脑O(shè)計(jì)面向?qū)ο蟮脑O(shè)計(jì)OODl面向?qū)ο蟮木幊堂嫦驅(qū)ο蟮木幊蘋OPl面向?qū)ο蟮臏y試面向?qū)ο蟮臏y試OOTl面向?qū)ο蟮能浖S護(hù)面向?qū)ο蟮能浖S護(hù)OOSM面向?qū)ο蟮能浖_發(fā) 前一頁 休息系
16、統(tǒng)分析系統(tǒng)分析l系統(tǒng)分析階段應(yīng)該扼要準(zhǔn)確地籠統(tǒng)出系統(tǒng)分析階段應(yīng)該扼要準(zhǔn)確地籠統(tǒng)出系統(tǒng)必需做什么,但是不關(guān)懷如何去系統(tǒng)必需做什么,但是不關(guān)懷如何去實(shí)現(xiàn)。實(shí)現(xiàn)。l面向?qū)ο蟮南到y(tǒng)分析,直接用問題域面向?qū)ο蟮南到y(tǒng)分析,直接用問題域中客觀存在的事物建立模型中的對象,中客觀存在的事物建立模型中的對象,對單個事物及事物之間的關(guān)系,都保對單個事物及事物之間的關(guān)系,都保管他們的原貌,不做轉(zhuǎn)換,也不突破管他們的原貌,不做轉(zhuǎn)換,也不突破原有界限而重新組合,因此可以很好原有界限而重新組合,因此可以很好地映射客觀事物。地映射客觀事物。面向?qū)ο蟮能浖_發(fā) 前一頁 休息設(shè)計(jì)設(shè)計(jì)l針對系統(tǒng)的一個詳細(xì)實(shí)現(xiàn)運(yùn)用面向?qū)︶槍ο到y(tǒng)的一
17、個詳細(xì)實(shí)現(xiàn)運(yùn)用面向?qū)ο蟮姆椒?。其中包括兩方面的任?wù):象的方法。其中包括兩方面的任務(wù):l把把OOA模型直接搬到模型直接搬到OOD,作為,作為OOD的一部分的一部分l針對詳細(xì)實(shí)現(xiàn)中的人機(jī)界面、數(shù)據(jù)存針對詳細(xì)實(shí)現(xiàn)中的人機(jī)界面、數(shù)據(jù)存儲、義務(wù)管理等要素補(bǔ)充一些與實(shí)現(xiàn)儲、義務(wù)管理等要素補(bǔ)充一些與實(shí)現(xiàn)有關(guān)的部分。有關(guān)的部分。面向?qū)ο蟮能浖_發(fā) 前一頁 休息編程編程OOP任務(wù)就是用一種面向?qū)ο蟮木幦蝿?wù)就是用一種面向?qū)ο蟮木幊萄哉Z把程言語把OOD模型中的每個成分書寫出模型中的每個成分書寫出來,是面向?qū)ο蟮能浖_發(fā)最終落實(shí)的來,是面向?qū)ο蟮能浖_發(fā)最終落實(shí)的重要階段。重要階段。面向?qū)ο蟮能浖_發(fā) 前一頁 休息測
18、試測試l測試的義務(wù)是發(fā)現(xiàn)軟件中的錯誤。測試的義務(wù)是發(fā)現(xiàn)軟件中的錯誤。l在面向?qū)ο蟮能浖y試中繼續(xù)運(yùn)用面在面向?qū)ο蟮能浖y試中繼續(xù)運(yùn)用面向?qū)ο蟮母拍钆c原那么來組織測試,向?qū)ο蟮母拍钆c原那么來組織測試,以對象的類作為根本測試單位,可以以對象的類作為根本測試單位,可以更準(zhǔn)確的發(fā)現(xiàn)程序錯誤并提高測試效更準(zhǔn)確的發(fā)現(xiàn)程序錯誤并提高測試效率。率。面向?qū)ο蟮能浖_發(fā) 前一頁 休息維護(hù)維護(hù)將軟件交付運(yùn)用后,任務(wù)并沒有結(jié)將軟件交付運(yùn)用后,任務(wù)并沒有結(jié)束,還要根據(jù)軟件的運(yùn)轉(zhuǎn)情況和用戶的束,還要根據(jù)軟件的運(yùn)轉(zhuǎn)情況和用戶的需求,不斷改良系統(tǒng)。需求,不斷改良系統(tǒng)。運(yùn)用面向?qū)ο蟮姆椒ㄩ_發(fā)的軟件,運(yùn)用面向?qū)ο蟮姆椒ㄩ_發(fā)的軟件
19、,其程序與問題域是一致的,因此,在維其程序與問題域是一致的,因此,在維護(hù)階段運(yùn)用面向?qū)ο蟮姆椒梢源蟠筇嶙o(hù)階段運(yùn)用面向?qū)ο蟮姆椒梢源蟠筇岣哕浖S護(hù)的效率。高軟件維護(hù)的效率。面向?qū)ο蟮能浖_發(fā) 前一頁 休息信息的表示和存儲信息的表示和存儲(自學(xué)自學(xué))l信息的分類信息的分類l計(jì)算機(jī)的數(shù)字系統(tǒng)計(jì)算機(jī)的數(shù)字系統(tǒng)l程序設(shè)計(jì)中常用的數(shù)制程序設(shè)計(jì)中常用的數(shù)制l不同進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換不同進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換l信息的存儲單位信息的存儲單位l二進(jìn)制數(shù)的編碼表示二進(jìn)制數(shù)的編碼表示l小數(shù)的表示方法小數(shù)的表示方法l非數(shù)值信息的表示非數(shù)值信息的表示 前一頁 休息信息的分類信息的分類 指令 控制信息 控制字 信息 定點(diǎn)數(shù)
20、數(shù)值信息 數(shù)據(jù)信息 浮點(diǎn)數(shù) 字符數(shù)據(jù) 非數(shù)值信息 邏輯數(shù)據(jù)信息的表示與存儲 前一頁 休息計(jì)算機(jī)的數(shù)字系統(tǒng)計(jì)算機(jī)的數(shù)字系統(tǒng)l計(jì)算機(jī)采用的是二進(jìn)制數(shù)字系統(tǒng)。計(jì)算機(jī)采用的是二進(jìn)制數(shù)字系統(tǒng)。l根本符號:根本符號:0、1l進(jìn)位原那么:逢二進(jìn)一進(jìn)位原那么:逢二進(jìn)一l優(yōu)點(diǎn):優(yōu)點(diǎn):l易于物理實(shí)現(xiàn)易于物理實(shí)現(xiàn)l二進(jìn)制數(shù)運(yùn)算簡單二進(jìn)制數(shù)運(yùn)算簡單l機(jī)器可靠性高機(jī)器可靠性高l通用性強(qiáng)通用性強(qiáng)l缺陷:對人來說可讀性差缺陷:對人來說可讀性差信息的表示與存儲 前一頁 休息程序設(shè)計(jì)中常用的數(shù)制程序設(shè)計(jì)中常用的數(shù)制信息的表示與存儲進(jìn)制基 數(shù) 進(jìn)位原則基本符號二進(jìn)制2逢 2 進(jìn) 10,1八進(jìn)制8逢 8 進(jìn) 10,1,2,3,4,
21、5,6,7十進(jìn)制10逢 10 進(jìn) 10,1,2,3,4,5,6,7,8,9,十六進(jìn)制 16逢 16 進(jìn) 1 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 前一頁 休息不同進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換不同進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換 R 進(jìn)制進(jìn)制十進(jìn)制十進(jìn)制各位數(shù)字與它的權(quán)相乘,其積相加。各位數(shù)字與它的權(quán)相乘,其積相加。例如例如:(11111111.11)2=1*27 + 1*26 + 1* 25 +1* 24 + 1* 23 + 1* 22 +1* 21+ 1* 20+1*2-1+1*2-2 =(255.75)10(3506.2)8=3*83 + 5*82 + 0*81 + 6*80 +2*8-
22、1=(1862.25)10(0.2A)16=2*16-1 +10*16-2=(0.1640625)10信息的表示與存儲 前一頁 休息不同進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換不同進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換 十進(jìn)制十進(jìn)制 R 進(jìn)制進(jìn)制十進(jìn)制整數(shù)轉(zhuǎn)換成十進(jìn)制整數(shù)轉(zhuǎn)換成R進(jìn)制的整數(shù)進(jìn)制的整數(shù)“除除R取余法,例如:取余法,例如:2 68 余余 數(shù)數(shù) 2 34 0 低位低位 2 17 0 2 8 1 2 4 0 2 2 0 2 1 0 0 1 高高位位所以所以 681010001002信息的表示與存儲 前一頁 休息不同進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換不同進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換 十進(jìn)制十進(jìn)制 R 進(jìn)制進(jìn)制十進(jìn)制小數(shù)轉(zhuǎn)換成十進(jìn)制小數(shù)轉(zhuǎn)換成R進(jìn)制小數(shù)進(jìn)制
23、小數(shù)“乘乘 R 取整法,例如:取整法,例如: 高位高位 0.31252 = 0 .625 0.625 2 = 1 .25 0.25 2 = 0 .5 0.5 2 = 1 .0所以所以 0.312510 = 0.01012 信息的表示與存儲 前一頁 休息不同進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換不同進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換二、八、十六進(jìn)制的二、八、十六進(jìn)制的相互轉(zhuǎn)換相互轉(zhuǎn)換l每位八進(jìn)制數(shù)相當(dāng)于三位二進(jìn)制數(shù)每位八進(jìn)制數(shù)相當(dāng)于三位二進(jìn)制數(shù)l每位十六進(jìn)制數(shù)相當(dāng)于四位二進(jìn)制數(shù)每位十六進(jìn)制數(shù)相當(dāng)于四位二進(jìn)制數(shù)l(1011010.10)2=(001 011 010 .100)2=(132.4)8l(1011010.10)2=(010
24、1 1010 .1000)2=(5A.8)16l(F7)16(1111 0111)2(11110111)2信息的表示與存儲 前一頁 休息信息的存儲單位信息的存儲單位l位位(bit):度量數(shù)據(jù)的最小單位,表示:度量數(shù)據(jù)的最小單位,表示一位二進(jìn)制信息。一位二進(jìn)制信息。l字節(jié)字節(jié)(byte):由八位二進(jìn)制數(shù)字組成:由八位二進(jìn)制數(shù)字組成(1 byte = 8 bit)。lK 字節(jié)字節(jié) 1 K = 1024 bytelM 字節(jié)字節(jié) 1 M = 1024 KlG 字節(jié)字節(jié) 1 G = 1024 M 信息的表示與存儲 前一頁 休息二進(jìn)制數(shù)的編碼表示二進(jìn)制數(shù)的編碼表示:原碼原碼l符號符號絕對值表示絕對值表示的
25、編碼的編碼l例如:例如:lX=+0101011 X原原 = 0 0101011lX=-0101011 X原原 = 1 0101011l 符號位符號位l缺陷:缺陷:l零的表示不獨(dú)一:零的表示不獨(dú)一:+0原原 =000.0 -0原原 =100.0l進(jìn)展四那么運(yùn)算時,符號位需單獨(dú)處進(jìn)展四那么運(yùn)算時,符號位需單獨(dú)處理,且運(yùn)算規(guī)那么復(fù)雜。理,且運(yùn)算規(guī)那么復(fù)雜。信息的表示與存儲 前一頁 休息二進(jìn)制數(shù)的編碼表示二進(jìn)制數(shù)的編碼表示:反碼反碼l正數(shù)的反碼與原碼表示一樣。正數(shù)的反碼與原碼表示一樣。l負(fù)數(shù)的反碼與原碼有如下關(guān)系:負(fù)數(shù)的反碼與原碼有如下關(guān)系:l符號位一樣符號位一樣(仍用仍用1表示表示),其他各位取,其
26、他各位取反反(0變變1,1變變0)。例如:。例如:X=-1100110 X原原 =11100110 X反反 =10011001X=+0000000 X原原 =00000000 X反反 =00000000l反碼中零的表示也不獨(dú)一反碼中零的表示也不獨(dú)一lX=-0000000 X原原 =10000000 X反反 =11111111l反碼只是求補(bǔ)碼的中間碼反碼只是求補(bǔ)碼的中間碼信息的表示與存儲 前一頁 休息二進(jìn)制數(shù)的編碼表示二進(jìn)制數(shù)的編碼表示:補(bǔ)碼補(bǔ)碼l模數(shù):模數(shù):ln位整數(shù)位整數(shù)(包括一位符號位包括一位符號位),那么它的,那么它的模數(shù)為模數(shù)為 2n 。 n位小數(shù),小數(shù)點(diǎn)前一位小數(shù),小數(shù)點(diǎn)前一位為符號
27、位,那么它的模數(shù)為位為符號位,那么它的模數(shù)為 2。l補(bǔ)數(shù):補(bǔ)數(shù):l一個數(shù)減去另一個數(shù),或者說一個數(shù)一個數(shù)減去另一個數(shù),或者說一個數(shù)加上一個負(fù)數(shù),等于第一個數(shù)加上第加上一個負(fù)數(shù),等于第一個數(shù)加上第二個數(shù)的補(bǔ)數(shù)。例:二個數(shù)的補(bǔ)數(shù)。例:8+(-2)=8+10 ( mod 12 )l一個二進(jìn)制負(fù)數(shù)可用其模數(shù)與真值做一個二進(jìn)制負(fù)數(shù)可用其模數(shù)與真值做加法加法 (模減去該數(shù)的絕對值模減去該數(shù)的絕對值) 求得其補(bǔ)求得其補(bǔ)碼。碼。信息的表示與存儲 前一頁 休息二進(jìn)制數(shù)的編碼表示二進(jìn)制數(shù)的編碼表示:補(bǔ)碼補(bǔ)碼l計(jì)算機(jī)中的補(bǔ)碼表示法計(jì)算機(jī)中的補(bǔ)碼表示法l負(fù)數(shù)的補(bǔ)碼由該數(shù)反碼的末位加負(fù)數(shù)的補(bǔ)碼由該數(shù)反碼的末位加 1 求
28、求得得l對補(bǔ)碼再求補(bǔ)即得到原碼對補(bǔ)碼再求補(bǔ)即得到原碼l補(bǔ)碼運(yùn)算規(guī)那么補(bǔ)碼運(yùn)算規(guī)那么l符號位可作為數(shù)值參與運(yùn)算符號位可作為數(shù)值參與運(yùn)算l減法運(yùn)算可轉(zhuǎn)換為加法運(yùn)算:減法運(yùn)算可轉(zhuǎn)換為加法運(yùn)算:l加上一個負(fù)數(shù)等于加上該數(shù)的補(bǔ)碼加上一個負(fù)數(shù)等于加上該數(shù)的補(bǔ)碼l補(bǔ)碼運(yùn)算的結(jié)果仍為補(bǔ)碼補(bǔ)碼運(yùn)算的結(jié)果仍為補(bǔ)碼l運(yùn)算結(jié)果溢出:運(yùn)算結(jié)果溢出:l負(fù)數(shù)之和得正數(shù),或正數(shù)之和得負(fù)數(shù)負(fù)數(shù)之和得正數(shù),或正數(shù)之和得負(fù)數(shù)信息的表示與存儲 前一頁 休息小數(shù)的表示方法小數(shù)的表示方法l計(jì)算機(jī)中通常采用浮點(diǎn)方式表示小數(shù)計(jì)算機(jī)中通常采用浮點(diǎn)方式表示小數(shù)一個數(shù)一個數(shù) N 用浮點(diǎn)方式表示可以寫成:用浮點(diǎn)方式表示可以寫成: N=M2E lE表
29、示表示2的冪,稱為數(shù)的冪,稱為數(shù)N的階碼。階碼的階碼。階碼確定了數(shù)確定了數(shù)N的小數(shù)點(diǎn)的位置,其位數(shù)的小數(shù)點(diǎn)的位置,其位數(shù)反映了該浮點(diǎn)數(shù)所表示的數(shù)的范圍。反映了該浮點(diǎn)數(shù)所表示的數(shù)的范圍。lM表示數(shù)表示數(shù)N的全部有效數(shù)字,稱為數(shù)的全部有效數(shù)字,稱為數(shù)N的尾數(shù)。其位數(shù)反映了數(shù)據(jù)的精度。的尾數(shù)。其位數(shù)反映了數(shù)據(jù)的精度。信息的表示與存儲 前一頁 休息非數(shù)值信息的表示非數(shù)值信息的表示l西文字符:西文字符:lASCII碼:用碼:用7位二進(jìn)制數(shù)表示一個字位二進(jìn)制數(shù)表示一個字符,最多可以表示符,最多可以表示27=128個字符個字符lEBCDIC碼:用碼:用8位二進(jìn)制數(shù)表示一個位二進(jìn)制數(shù)表示一個字符,最多可以表示字符,最多可以表示28=256個字符個字符l漢字:漢字:l運(yùn)用較為廣泛的是運(yùn)用較為廣泛的是國家規(guī)范信息交換國家規(guī)范信息交換用漢字編碼用漢字編碼(GB2312-80規(guī)范規(guī)范),簡稱,簡稱國標(biāo)碼。是二字節(jié)碼,用二個七位二國標(biāo)碼。是二字節(jié)碼,用二個七位二進(jìn)制數(shù)編碼表示一個漢字。進(jìn)制數(shù)編碼表示一個漢字。信息的表示與存儲 前一頁 休息程序的開發(fā)過程程序的開發(fā)過程l源程序、目的程序、翻譯程序源程序、目的程序、翻譯程序l三種不同類型的翻譯程序:三種
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生物質(zhì)能發(fā)電的生物質(zhì)能發(fā)電新技術(shù)開發(fā)考核試卷
- 一年級口算練習(xí)題大全(1000題)
- 靜脈血液標(biāo)本采集指南 2
- 血液透析患者的護(hù)理
- 小學(xué)四年級語文詞語搭配練習(xí)題
- 江西省南昌二中、九江一中、新余一中、臨川一中八所重點(diǎn)中學(xué)2025屆高三下第二次診斷性考試數(shù)學(xué)試題含解析
- 新疆昌吉市教育共同體2025屆高中畢業(yè)班第一次模擬(生物試題理)試卷含解析
- 平頂山文化藝術(shù)職業(yè)學(xué)院《影視平面設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東省泰安市南關(guān)中學(xué)2024-2025學(xué)年中考數(shù)學(xué)試題考前三個月(江蘇專版)含解析
- 江西省宜春市豐城市豐城九中2025屆高三4月綜合測試生物試題理試題含解析
- 化學(xué)性及藥物性頜骨骨髓炎
- 神奇的植物王國課件
- 員工崗位技能考核評定表
- 人工氣道的護(hù)理劉亞課件
- 項(xiàng)目部安全生產(chǎn)事故應(yīng)急預(yù)案
- 垂體瘤-PPT課件
- 鉆井井控裝置
- 贛美版(江西)小學(xué)四年級美術(shù)下全冊教案
- 12隊(duì)淘汰賽_對陣表
- 我國城市馬拉松賽事發(fā)展現(xiàn)狀分析
- 貧困戶登記表入戶摸底調(diào)查表
評論
0/150
提交評論