




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計算機導論課件3.0版制作宋斌計算機科學之美構建計算機:思想和技術之美強大而非萬能:概念之美數字化:0、1世界之美讓世界變小變平:觀念之美目錄第2章計算機的組成第3章從機器語言到多媒體第4章信息系統第5章計算機網絡第6章計算機科學第1章計算機的發展史第1章計算機的發展史1.1計算機的起源
古人曰:“運籌于帷幄之中,決勝于千里之外。”籌策又叫算籌,它是中國古代普遍采用的一種計算工具。公元前500年,中國南北朝時期的數學家祖沖之,借用算籌作為計算工具,成功地將圓周率計算到小數點后的第七位。
中國古代發明的珠算盤,直到今天,它仍然是許多人鐘愛的“計算機”。對世界數學的發展產生了重要的影響。
17世紀初,計算工具在西方呈現出較快的發展,首先創立對數概念英國數學家納皮爾(J.Napier),發明了一種工具,即后來被人們稱為“納皮算籌”的器具。英國牧師奧卻德(W.Oughtred)發明了圓盤型對數計算尺,后改進成兩根相互滑動的直尺狀。在工程計算領域計算尺不僅能做加減乘除、乘方、開方,甚至可以計算三角函數、指數和對數,它一直使用到袖珍計算器面世為止。
機械計算機由法國的帕斯卡(B.Pascal)發明出來。帕斯卡設計的計算機是由一系列齒輪組成而用發條做為動力的裝置,這種機器只能夠做6位加法和減法。然而,即使只做加法也有個“逢十進一”的進位問題。
這稱為“人類有史以來第一臺計算機”,后來人們為了紀念它將一種計算機的高級語言命名為“PASCAL”。巴貝奇的第一個目標是制作一臺“差分機”。快速編制不同函數的數學用表。他整整用了10年的時間,于1822年完成了第一臺差分機,可以處理3個不同的5位數,計算精度達到6位小數,當即就演算出了好幾種函數表來。同時間接指出了計算機的五個部分,同時產生第一個程序員——愛達·奧古斯塔(AdaAugusta)1.2.1圖靈和圖靈機1.2現代計算機的誕生現代計算機孕育于英國、誕生于美國、并成長遍布于全世界。所謂“現代”是指利用先進的電子技術代替機械或機電技術。現代計算機經歷了60多年的發展(從1945年至今),其中最重要的代表人物是英國科學家艾蘭·圖靈(A.M.Turing)和美籍匈牙利科學家馮·諾依曼(VonNeumann),他們為現代計算機科學奠定了基礎。圖靈對現代計算機的主要貢獻有兩個:(1)建立圖靈機(Turingmachine)理論模型;(2)提出定義機器智能的圖靈測試(Turingtest)。
1936年圖靈發表了一篇論文:《論可計算的數及其在密碼問題的應用》,首次提出邏輯機的通用模型。現在人們就把這個模型機稱為圖靈機,縮寫為TM。TM由一個處理器P、一個讀寫頭W/P和一條存儲帶M組成。P
W/P
B
11
1
1B1
B
M
……
其中,M是一個無限長的帶,被分成一個個單元,從最左單元開始,向右延伸直至無窮。P是一個有限狀態控制器,能使W/R左移或右移,并且能對M上的符號進行修改或讀出。那么,圖靈機怎樣進行運算呢?例如做加法3+2=?開始先把最左單元放上特殊的符號B,表示分割空格,它不屬于輸入符號集。然后寫上3個“1”,用B分割后再寫上2個1”,接著在再填一個B,相加時,只要把中間的B修改為“1”,而把最左邊的“1”修改為B,于是機器把兩個B之間的“1”讀出就得到3+2=5。由于計算過程的直觀概念可以看成是能用機器實現的有限指令序列,所以圖靈機已被認為是過程的形式定義。1950年他發表了另一篇著名論文:《計算機器與智能》。指出如果一臺機器對于質問的響應與人類做出的響應完全無法區別,那么這臺機器就具有智能。這一論斷稱為圖靈測試,它奠定了人工智能理論的基礎。
必須強調指出,圖靈并不只是一位純粹抽象的數學家,他還是一位擅長電子技術的工程專家,二次大戰期間,他是英國破譯密碼小組的主要成員。他設計制造的破譯機Bombe實質就是一臺采用繼電器的高速計算裝置。圖靈以獨特的思想創造的破譯機,一次次成功地破譯了德國法西斯的密碼電文。為紀念圖靈的理論成就,美國計算機協會(ACM)專門設立了圖靈獎。從1966年至今已有30多位各國第一流的計算機科學家獲得此項殊榮,成為計算機學術界的最高成就獎。1.2.2第一臺電子數字計算機ENIACENIAC是電子數值積分計算機(TheElectronicNumericalIntegratorandComputer)的編寫。1943年,二次世界大戰關鍵時期,美國因新式火炮設計需要運算速度更快的計算機,賓州大學莫爾學院莫奇萊教授和他的學生埃克特博士用軍方提供的48萬美元設計完成.1.2.3馮·諾依曼
馮·諾依曼1903年出生,1921年至1925年他先后在柏林和蘇黎世學習化學,1926年獲得蘇黎世化學工程文憑和布達佩斯數學博士證書。1930年他以客座講師身份到美國普林斯頓大學講學,次年應聘為普林斯頓大學教授。
馮·諾依曼介入ENIAC的工作是偶然的。馮·諾依曼到達莫爾學院計算機研究實驗室看了研制中的計算機之后,提的第一個問題就是這臺計算機的邏輯裝置和結構,而這正是莫克利等人所謂判別真正的天才的標志。馮·諾依曼對ENIAC機不足之處進行認真分析,并討論全新的存儲程序的通用計算機方案。當軍方要求比ENIAC性能更好的計算機時,他便提出EDVAC(埃德瓦克)方案。1946年6月馮·諾依曼與戈德斯坦(H.Goldstine)等發表了《電子計算機裝置邏輯結構初探》的論文,成為EDVAC的設計基礎。1952年完成了EDVAC機的建造工作,并投入運行,用于核武器的理論計算。
EDVAC是電子離散變量計算機的縮寫。它的主要改進有兩點:一是為了充分發揮電子元件的高速性能而采用了二進制;二是把指令和數據都存儲起來,讓機器能自動地執行程序。由于它利用水銀延時線作主存,用磁鼓作輔存,其運算速度比ENIAC提高了240倍。1.2.4UNIVAC迎來計算機時代
為什么通常認為計算機時代是從1951年6月開始的?計算機時代的兩個主要標志:(1)計算機從實驗室走向社會,作為商品交付客戶使用;(2)計算機從單純軍事用途的計算進入公眾領域的數據處理,引進強烈的社會反響。
UNIVAC(尤尼瓦克)捷足先登,成了這一時代角色。UNIVAC是通用自動計算機的縮寫。它的設計師是ENIAC的主要研制者莫奇萊和埃克特。1951年6月14日第一臺UNIVAC交付美國人口統計局使用。它不僅為人口普查服務,還投入當時正在進行的總統競選的統計分析工作。在投票結束剛2小時,它分析了5%的選票后就預告了艾森豪威爾將當選下屆總統。這條又快又準的消息披露后,在西方引起轟動。輿論普遍贊賞計算機的強大功能,新聞媒介則紛紛報導:“世界已經進入計算機時代”。1.3現代計算機的誕生
一般說來,計算機年代劃分的原則有:
⑴
按照計算機采用的電子器件來劃分通常分為:電子管、晶體管、集成電路、超大規模集成電路(VLSI)或微處理器等四代。
⑵
結合具有里程碑意義的典型計算機來劃分根據它的社會效益與經濟效益來衡量。⑶考慮計算機系統的全面技術水平來劃分不只從使用的電子器件,或者只從硬件實現來考慮;還要從存儲設備、輸入輸出裝置,特別是軟件配置情況來評價。通過全面的考慮,我們才會從年代學的研究中找到對系統發展有積極意義的歷史借鑒。應當指出,計算機劃分的作法已經擴展到它的各個分支領域。例如微處理器可以分為幾代,存儲器也可以分為幾代,操作系統可以分為幾代,數據庫也可以分為幾代。1.3.1第一代計算機第一代計算機(1951—1958)的特點是:
⑴采用電子管代替機械齒輪或電磁繼電器作開關元件,但它仍然笨重,而且產生很多熱量。既容易損壞。
⑵
采用二進制代替十進制,即所有指令與數據都用“1”與“0”表示,分別對應于電子器件的“接通”與“關斷”。這就是機器可以理解的語言,
⑶程序可以存儲,這使通用計算機成為可能。但最初使用水銀延遲線或靜電存儲管,容量很小。后來使用了磁鼓、磁芯,有了很大改進。
⑷輸入輸出裝置主要用穿孔卡,速度很慢。UNIVAC—I是第一代計算機的代表。在它前后一批著名機器成了開創性的第一代計算機族。是:ABC;ENIAC;IAS;EDVAC;ACE;EDSAC;Whirlwind;IBM701,702,704,705,650等。
1952年IBM生產的第一臺用于科學計算的大型機IBM701問世。它的字長36位,使用了4000個電子管和12000個鍺晶體二極管,運算速度為每秒2萬次。采用靜電存儲管作主存,容量為2048字,并用磁鼓作輔存。第一代電子計算機中使用的磁鼓
50年代存儲技術的重大革新是磁芯存儲器的出現,它產生在美國麻省理工學院。
磁芯是用鐵氧體磁性材料制成的小環,外徑小于1毫米,所以磁心尺寸只有小米粒大小。該材料有矩形磁滯回線當激磁電流方向不同時會產生兩種剩磁狀態,因此一個磁芯可存儲一個二進制數(1,0),一個4K字存儲器每字為48位,那就需要4096×48=196608顆磁芯。它們被組裝在磁芯板上。
第二代計算機(1959—1964)的特點是:⑴用晶體管代替了電子管。晶體管有一系列優點:體積小、重量輕;發熱少、耗電省;速度快、功能強;價格低、壽命長。⑵普遍采用磁芯存儲器作主存,并且采用磁盤與磁帶作輔存。使存儲容量增大,可靠性提高,為系統軟件的發展創造了條件。⑶作為現代計算機體系結構的許多意義深遠的特性相繼出現,例如變址寄存器、浮點數據表示、間接尋址、中斷、I/O處理機等。
⑷編程語言在發展。先是用匯編語言代替了機器語言。接著又發展了高級語言如:FORTRAN、COBOL。⑸應用范圍進一步擴大。除了以批處理方式進行科學計算外,開始進入實時的過程控制和數據處理.1.3.2第二代計算機晶體管是1948年美國貝爾電話實驗室的三位物理學家巴丁(J.Bardeen)、布拉坦(W.Brattain)、肖克萊(W.Shockley)發明的。由于這項影響深遠的發明,他們榮獲了1956年諾貝爾物理獎。1954年貝爾實驗室制成第一臺晶體管計算機TRADIC,它使用了800個晶體管。1955年全晶體管計算機UNIVAC—Ⅱ問世。但是,它們都沒有成為第二代計算機的主流產品。
第二代計算機主流產品是IBM7000系列。1958年IBM推出大型科學計算機7090,實現了晶體管化。采用了存取周期為2.18微秒的磁芯存儲器、每臺容量為1MB的磁鼓、每臺容量為28MB的固定磁盤,并配置了FORTRAN等高級語言。
美國50年代生產的IBM7041960年美國貝思勒荷姆鋼廠成為第一家利用計算機處理定貨、管理庫存、并進行實時生產過程控制的公司。1963年俄克拉荷馬日報成為第一份利用計算機編輯排版的報紙。1964年美國航空公司建立了第一個實時訂票系統,計算機應用的革命正在開始。1.3.3第三代計算機
第三代計算機(1965—1970)的特點是:⑴用集成電路(IntegratedCircuit,IC)取代了晶體管。最初是小規模集成電路(SSI),后來是大規模集成電路(LSI)。IC的體積更小,耗電更省,功能更強,壽命更長。⑵用半導體存儲器淘汰了磁芯存儲器。存儲容量大幅度提高,為建立存儲體系與存儲管理創造了條件。
⑶
普遍采用了微程序設計技術,為確立富有繼承性的體系結構發揮了重要作用。三代機為計算機走向系列化、通用化、標準化作出了貢獻。
⑷
系統軟件與應用軟件都有很大發展。由于用戶通過分時系統的交互作用方式來共享計算機資源,因此操作系統在規模和復雜性方面都有很快發展,為了提高軟件質量,出現了結構化、模塊化程序設計方法。
⑸為了滿足中小企業與機構日益增多的計算機應用,在第三代計算機期間,出現了第一代小型計算機如DEC的PDP—8.
第三代計算機主流產品是IBM/360。1964年4月7日IBM公布了360系統,成為計算機發展史上的一個重要里程碑。IBM公司為此投資50億美元,到1965年360系統的各種型號陸續投入市場,共售出33000臺,這促使大多數早先的商用計算機被廢棄,對計算機工業產生了相當大的沖擊。IBM的成功與它的市場戰略正確有關。它從一開始就面向商業、面向產品、面向服務。人們常稱IBM為“BigBlue”,即“蘭色巨人”。一方面反映它實力雄厚,另一方面也是服務周到的寫照,它的工作人員身穿蘭色西服為用戶“上門服務”。1.3.4第四代計算機
第四代計算機(1971至今)的特點是:⑴用微處理器或超大規模集成電路VISI(VeryLargeScaleIntegration)取代普通集成電路。⑵從計算機系統本身來看,在這期間存儲容量進一步擴大;輸入采用了OCR與條形碼;輸出采用了激光打印機;光盤的引進;新的編程語言Pascal、Ada的使用。所有這些還只是進化性的發展,而不是革命性的變化。
⑶微型計算機(microcomputer)異軍突起,席卷全球,觸發了計算技術由集中化向分散化轉化的大變革.
⑷數據通信、計算機網絡、分布式處理有了很大的發展。計算機技術與通信技術相結合正改變著世界的技術經濟面貌。
⑸由于特殊應用領域的需求,在并行處理與多處理領域正積累著重要的經驗,為未來的技術突破創造著條件。
Intel(英特爾)公司于1968年成立。次年,以年青的霍夫(M.Hoff)博士為首,建立了為一家日本公司設計袖珍計算器芯片的小組。1971年第一代微處理器4位芯片Intel4004問世,它在4.2×3.2mm2的硅片上集成了2250個晶體管組成的電路,其功能竟與ENIAC相仿。1972年推出第二代微處理器8位芯片Intel8008,1974年推出后繼產品8080。1975年Altair公司利用這種芯片制成了微型計算機。四代機的主流產品是1979年IBM推出的4300系列、3080系列以及1985年的3090系列。它功能得到進一步的加強,例如虛擬存儲、數據庫管理、網絡管理、圖像識別、語言處理等.1.4微型計算機的發展
在第四代計算機中,微型計算機無疑發展最快的,普及最廣泛的。微型機使計算機從實驗室、專門機房走到辦公室、家庭、公共場所。正是微型機的發展和相應的圖形化軟件的發展,才使計算機從專業人員走向廣大用戶。
1.4.1第一個微處理芯片和第一臺微型機
1971年1月,以霍夫為首的研制小組,完成了世界上第一個微處理器芯片。在3×4mm面積上集成晶體管2250個,每秒運算速度達6萬次。它意味著電腦CPU已經縮微成一塊集成電路,意味著“芯片上的電腦”誕生。第一塊微處理器芯片已屬大規模集成電路范疇。英特爾公司命名它為4004。
4004芯片
1972年4月,霍夫小組研制出另一型號的微處理器8008。在做了少許改進后,1975年又推出有史以來最成功的8位微處理器8080。8080集成了約4800個晶體管,每秒執行29萬條指令。8080型微處理器正式投放市場是在1974年,這種芯片及其仿制品后來共賣掉數以百萬計,引發了洶涌澎湃的微電腦熱潮。在英特爾公司帶動下,1975年,摩托羅拉公司也宣布推出8位微處理器6800。1976年,霍夫研制小組的費根,在硅谷組建了Zilog公司,同時宣布研制成功8位微處理器Z-80。從此,可以放在指尖上的芯片電腦全方位地改變了世界。愛德華·羅伯茨開了一家“微型儀器與自動測量系統公司他以每塊75美元價格向英特爾購到8080微處理器,組裝了一臺很小的機器,命名為“牛郎星”。這就是世界上第一臺用微處理器裝配的微型計算機。這種機器在金屬制成的小盒內,裝進兩塊集成電路,一塊8080芯片,另一塊存儲器,僅有256B。用手撥動面板上8個開關輸入程序;幾排燈泡的明暗表示計算結果。1.4.2車庫里的”蘋果”
1976年,美國硅谷“家釀電腦俱樂部”的兩位同名青年,史蒂夫·喬布斯(S.Jobs)和史蒂夫·沃茲奈克(S.Wozniak),在汽車庫里“釀造”出一家聞名全球的電腦公司,從而發動了一場轟動電腦業界的“車庫革命”。1975年,由于無錢購買“牛郎星”電腦,沃茲奈克只得用較便宜的6502微處理器裝配了一部。這臺電腦嚴格地講只是裝在木箱里的一塊電路板,但有8K存儲器,能顯示高分辨率圖形。俱樂部成員紛紛提出要訂購這種機器。喬布斯敏銳地看到了商機,他賣掉自己汽車,共湊了1300元創業資金。就在喬布斯家里的汽車庫里,為了紀念喬布斯當年在蘋果園打工的歷史,公司取名蘋果(Apple),標志是一個被咬了一口的蘋果,因為“咬”(Bite)與“字節”(Byte)同音。他們生產的第一款微型計算機也就命名為“蘋果I”(AppleI)。1978年初又增加了磁盤驅動器。這種電腦達到當時微型電腦技術的最高水準,喬布斯命名它為“蘋果Ⅱ”(AppleⅡ)。1977年4月,蘋果Ⅱ在舊金山計算機交易會第一次公開露面,售價僅1298美元,造成意想不到的轟動。從此,蘋果Ⅱ大量走進了學校、機關、企業、商店和家庭,為領導時代潮流的個人計算機鋪平了道路。隨著蘋果計算機帶來的巨大收益,這家公司在短短5年時間內創造了神話般的奇跡。1976年,公司營業額超過20萬美元;5年之后,營業額竟躍升至10億美元,跨進美國最大500家公司的行列。喬布斯頭成為美國最年輕的百萬富翁。1.4.3個人計算機新紀元
1981年IBM公司推出了它的個人計算機PC,人類社會從此跨進個人計算機新紀元。為了讓IBM擁有“蘋果計算機”,IBM公司下令在邁阿密建立一個“國際象棋”專案小組,一年內開發出自己的機器。IBM實行“開放”政策。他們決定采用英特爾8088微處理器作為該計算機的中樞,同時委托獨立軟件公司為它配置各種軟件。經反復斟酌,IBM公司決定把新機器命名為“個人計算機”,即IBMPC。1981年8月12日,IBM在宣布IBMPC個人計算機出世,它把過去一個大型電腦機房的全套裝置統統搬到個人的書桌上。就在1982年內,IBMPC機賣出了25萬臺。IBMPC誕生不僅掀起了個人計算機的大普及,而且導致了軟件工業的興旺。其中,受益最大的是微軟公司。早在1969年,美國西雅圖湖濱中學8年級學生比爾·蓋茨(B.Getes)和他高班同學保羅·艾倫
(P.Allen),在學校唯一臺PDP-10小型計算機終端上,設計出第一個軟件“三連棋”游戲。1974年12月,保羅·艾倫在報亭上偶爾發現《大眾電子》配發的“牛郎星”照片,立即找到已經考入哈佛大學學法律的比爾·蓋茨,共同為“牛郎星”研制出配套的BASIC軟件。這種軟件后來竟賣出了100萬套。
在BASIC軟件成功的鼓舞下,1975年7月,19歲的比爾·蓋茨走出人生中最關鍵的一步。他毅然放棄只差一年就到手的哈佛學位,與保羅·艾倫一起在阿爾伯克基市豎起“微軟公司”的旗幟。“微軟”(Microsoft)取自于“微型”和“軟件”二字,專門從事微電腦軟件開發。比爾·蓋茨為只有6名員工的小公司定下雄心勃勃的目標:每個家庭每張桌上都有一部電腦運行微軟的軟件。1980年,當IBM“國際象棋”專案組需要為PC電腦配套操作系統軟件時,找到了微軟公司,比爾·蓋茨想起了西雅圖軟件天才帕特森(T.Paterson)曾編寫過一個QDOS軟件,微軟公司購買到QDOS版權,并且在帕特森幫助下,完成了這件影響深遠的磁盤操作系統MS-DOS軟件。MS-DOS伴隨IBMPC電腦出征,由于所有PC個人電腦(包括其他廠商生產的兼容機)都需要安裝MS-DOS,其用戶后來竟超過3000萬,歷史上從來沒有哪個軟件能夠達到如此龐大的用戶數。
1.4.4軟件與硬件交替發展
英特爾公司沒有停止前進的步伐,386剛剛上市,便研制下一代芯片486芯片不僅要保持兼容性,而且必須創新,原定兩年半的時間被推遲了兩個月。1989年2月推出了486產品。該芯片集成了120萬只晶體管,功能相當于當時的一臺大型主機,速度比4004快了50倍。1989年4月,英特爾公司在拉斯維加斯電腦大展上首度發表486,標志著PC電腦從此進入486時代。1987年在半導體行業僅排名第十的英特爾公司,由于堅持在微處理器領域的技術創新,終于在1992年超過日本NEC公司,攀上全球半導體產業的首位。歷史進入到九十年代初,微處理器再次加快升級換代的速度。為了防止商標被人摹仿,從第五代(P5)開始,英特爾公司將新研制的芯片更名為“奔騰”(Pentium)。
1993年5月,“奔騰”微處理器在一個小型記者招待會上首次發表,英特爾打出“送你一顆奔馳的芯”大幅廣告。“奔騰”芯片集成了310萬枚晶體管,數目大大超過486芯片的120萬枚,每個元件的寬度只有0.8微米,大約是一根頭發的百分之一,電腦業從此進入“奔騰時代”。一年半后,英特爾公司推出“奔騰Ⅱ”處理器,實現了0.25微米新工藝,它內置多媒體(MMX)功能,集數據、音頻、視頻、圖形、通信于一體。微處理器遵照“摩爾定律”,集成的元件數目以每18個月翻一番的進程,默默走過了20余年。如果走進英特爾公司博物館,人們可以清晰地觀看到它的生產過程和它的發展足跡。從第一代4004到第8代Pentium4,芯片的集成度增加了2400倍,速度提高了5000倍。至1995年,全世界用作電腦“心臟”的微處理器產量已達2億4千萬個;用作電器控制的微處理器產量高達30億個。
英特爾微處理器的更新換代,也給微軟公司視窗軟件升級帶來契機。從開始的DOS1.0,到DOS6.22,從字符界面到圖形化界面,1990年在當時的386上推出了Windows操作系統,1995年,世界范圍出現了迎接“視窗95”(Windows95)的熱潮。比爾·蓋茨在其好友、股票大王巴菲特(W.Buffett)建議下,不惜以1200萬美元買到英國“滾石”搖滾樂團“啟動我”原創歌曲,于8月24日召召開發布會。30多個國家500多位報刊記者和數十位電視臺的節目主持人,各軟件公司代表和電腦經銷商近萬人趕來參加視窗95的盛會。
實際上每當英特爾推出一款新的微處理器,微軟公司也推出一款新的操作系統,包括Windows95、Windows98、WindowsMe、Windows2000、WindowsXP每一款在功能上都有一定的進步,但對機器性能要求也高了,以刺激用戶的購買欲,同時推動個人計算機的發展。據說PC機市場的60%利潤被Wintel聯盟獲得。由于視窗95的成功銷售,微軟公司已經控制了個人電腦操作系統90%以上的市場,比爾·蓋茨第二次登上美國《財富》雜志全球富豪排行榜榜首。當之無愧是知識經濟開始到來的標志。1.4.5我國計算機的發展
自從1946年世界上第一臺數字電子計算機在美國誕生以來,與計算機最鄰近領域的數學和物理界的泰斗,世界數學大師華羅庚教授和中國原子能事業的奠基人錢三強教授,就十分關注這一新技術如何在國內發展。從1951年起,積極推動將發展計算機列入國家的12年發展規劃。1956年8月25日我國第一個計算技術研究機構——中國科學院計算技術研究所籌備委員會成立,華羅庚任主任。這就是我國計算技術研究機構的搖籃。
1958年由七機部研制的中國第一臺數字電子計算機103機(定點32二進制位,每秒2500次)交付使用.總參研制的中國第一臺大型數字電子計算機104機(浮點40二進制位,每秒1萬次)在1959年也交付使用,在104機上中國第一個自行設計的編譯系統在1961年試驗成功(Fortran型)。
1967年自行設計了專為“兩彈一星”服務的計算機——大型晶體管計算機109乙(浮點32二進制位,每秒6萬次)供核彈研究用和七機部供火箭研究用,它們的使用時間長達15年,被譽為“功勛計算機”,是中國第一臺具有分時、中斷系統和管理程序的計算機,同時中國第一個自行設計的管理程序(操作系統的前身)就是在它上面建立的。
1983年,國防科技大學研制成功運算速度每秒上億次的“銀河-I”巨型機,這是我國高速計算機研制的一個重要里程碑。
1983年,電子工業部計算機管理局研制成功與IBMPC機兼容的長城0520CH微機。同時電子部六所開發成功微機漢字軟件CCDOS,是我國第一套與IBMPC-DOS兼容的漢字磁盤操作系統。
1991年,新華社、科技日報、經濟日報正式啟用漢字激光照排系統(中國計算機科學家——王選所領導的科研集體研制出的漢字激光照排系統)被譽為“漢字印刷術的第二次發明”。
1994年中關村地區教育與科研示范網絡(NCFC)完成了與Internet的全功能IP連接,從此,中國正式被國際上承認是接入Internet的國家。
1997年,國防科大研制成功“銀河-III”百億次并行巨型計算機系統,系統綜合技術達到90年代中期國際先進水平。
1989年7月金山公司的WPS軟件問世,它填補了我國計算機字處理軟件的空白該軟件至今在國內還有一定的影響。
2002年8月“龍芯1號”的問世結束了我國不生產CPU的“空芯化”歷史。作為一款64位的通用芯片,2004年推出的“龍芯2號”樣機上能運行完整的64位中文Linux操作系統。曙光公司推出完全自主知識產權的“龍騰”服務器,龍騰服務器采用了“龍芯-1”CPU,采用了曙光公司和中科院計算所聯合研發的服務器專用主板,采用曙光Linux操作系統,該服務器是國內第一臺完全實現自有產權的產品,在國防、安全等部門將發揮重大作用。
2005
年5月,聯想完成收購IBM全球PC業務(包括IMB筆記本和臺式機業務合并后的新聯想將以130億美元的年銷售額一躍成為全球第三大PC制造商。使我國計算機產業達到世界先進水平。
2005年8月5日國內最大搜索引擎百度公司股票在美國Nasdaq市場掛牌交易.
2005年8月11日、阿里巴巴收購雅虎中國。這是中國互聯網史上最大的一起并購案。1.5計算機應用的發展
計算機所以迅速發展,其生命力在于它的廣泛應用。最早設計計算機的目的是用于軍事方面的科學計算,而當制造完成后,由于它的無比的優越性,就開始用于其它領域。第一臺商用計算機就被用于“圣經”的文字處理。不久就在銀行用于信息處理。目前,計算機的應用范圍幾乎涉及人類社會的所有領域:從國民經濟各部門到個人家庭生活,從軍事部門到民服務部門,從科學教育到文化藝術,從生產領域到消費娛樂,無一不是計算機應用的天下,對于這么多的應用,這里不可能一一介紹,下面歸納成七個方面來敘述。1.5.1科學計算
科學研究和工程技術計算領域,是計算機應用最早的領域,也是應用得較早、較廣泛的領域。例如數學、化學、原子能、天文學、地球物理學、生物學等基礎科學的研究,以及航天飛行、飛機設計、橋梁設計、水力發電、地質找礦等方面的大量計算都要用到計算機。利用計算機進行數值計算,可以節省大量時間、人力和物力。計算機在科學計算和工程設計中的應用,不僅減輕了大量繁瑣的計算工作量,更重要的是,使得一些以往無法解決、無法及時解決或無法精確解決的問題得到圓滿的解決。1.5.2自動控制
自動控制是涉及面極廣的一門學科,應用于工業、農業、科學技術、國防以至我們的日常生活等各個領域。特別是有了體積小、價廉可靠的微型計算機和單片機后,自動控制就有了強有力的工具,使自動控制進入以計算機為主要控制設備的新階段。據統計,目前國內外大約20%的微型機用于生產過程的自動控制,應用于冶金、化工、電力、交通、機械、軍事等部門。用計算機控制各種加工機床,不僅可以減輕工人的勞動強度,而且生產效率高,加工精度高。
有人說“計算機是提高生產力最簡便的方法”,這是很有道理的。1.5.3CAD/CAM/CIMS
CAD技術,首先按設計任務書的要求設計方案,然后進行各種設計方案比較,確定產品結構、外形尺寸、材料,進行模擬組裝,再對模擬整機的各種性能測試,根據測試結果不可對其進行不斷修正,最后確定設計;產品設計完成后再將其分解為零件、分裝部件,并給出零件圖、分部裝配圖、總體裝配圖等。全部由計算機直接或間接地完成。
CAM一般指利用計算機參與從毛坯到產品制造過程中直接或間接的活動,包括工藝準備、生產作業設計、物料采購計劃、生產控制、質量控制等。CAM目前主要是指數控程序的編制。
CIMS即將企業生產過程中的有關人、技術、設備、經費管理及其信息流和物質流等利用計算機手段有機集成并優化運行。1.5.4信息處理
信息:是我們人類賴以生存和交際的媒介。通過五官和皮膚,我們可以看到文字圖像,聽到唱歌說話,聞到香臭氣味,嘗到酸甜苦辣,感到冷熱變化。這些都有是信息。人本身就是一個非常高級的信息處理系統。計算機發展初期,它僅僅用于數值計算。但是后來應用范圍逐漸發展到非數值領域,可用來處理文字、表格、圖像、聲音等各類問題。因此,確切地講,計算機應當稱為信息機,或叫信息處理機。信息處理的范圍相當廣泛。總之,企業管理、物資管理、資料圖書管理、人事管理、業務管理等等,都是計算機能發揮作用的領域。下表中列出了國內各部門研制的計算機管理系統實例。庫存管理倉庫管理系統,農機站物資管理系統,小型倉庫管理數據庫,生產倉庫財務管理系統,汽車零件管理系統,立體倉庫管理系統,鋼材庫存管理系統企業管理進口器材訂貨單據管理系統,科研計劃管理系統,地毯廠企業管理系統,材料生產計劃管理系統,計劃統計管理系統,旅館管理系統資料管理科研課題管理系統,科研檔案管理系統,圖書情報資料檢索系統,港口情報檢索系統,外文資料管理系統,統計數據管理系統,建筑管理數據庫人事管理工資管理系統,從事檔案管理系統,科技人員文件管理系統,高校教師管理系統計算機管理系統實例
表1.5.5教育和衛生
創立學校、應用書面語言、發明印刷術,被稱為教育史上的三次革命。目前,計算機廣泛應用于教育,被譽為“教育史上的第四次革命”。較多的應用是“計算機輔助教學”。計算機輔助教學既用于普通教育,又用于專業訓練方面。例如通過計算機管理的“飛行模擬器”來訓練飛機駕駛員。目前我國正在進行的“校校通”工程,當它實現以后,在教學過程中將廣泛采用計算機教學法。計算機的問世,同樣為人類健康長壽帶來了福音。一方面,使用計算機的各種醫療設備應運而生,如CT圖像處理設備、身體診斷設備、心腦電圖分析儀、醫療車系統等。另一方面,集專家經驗之大成,利用計算機建成了各種各樣的專家系統,如中醫專家診療系統、肝病電腦診治系統、肺癌電腦診斷系統、黃疸病診療系統等等。1.5.6家用電器
計算機不僅在國民經濟各部門發揮越來越大的作用,而且已滲入個人生活,特別是家用電器中。例如彩色電視機的調臺器,就是把微型機的鎖環頻率合成器結合起來構成的。從而使電視機增加了數字選臺、自動選臺、預約節目、遙控等多種功能。目前,不僅使用各種類型的個人計算機,而且將單片機廣泛應用于微波爐、磁帶錄音機、自動洗衣機、煤氣用定時器、家用空調設備控制器、電子式縫紉機、電子玩具、游戲機等。現在就有全部由電腦和網絡控制的智能房子。計算機網絡和計算機控制的設備將廣泛地應用于辦公室、工廠和家庭。通過國際互聯網,可以傳遞多種多樣的有益信息,如新聞時事,商業行情、電子商務等等。1.5.7人工智能
“人工智能”又稱“智能模擬”,簡單地說,就是要使計算機能夠模仿人的高級思維活動。影片《未來世界》中所描繪的機器人,就是在人工智能研究成果基礎上所設想的未來世界的情景。
人工智能的研究課題是多種多樣的諸如計算機學習、計算機證明、景物分析、模擬人的思維過程、機器人等等,內容很多。
直接利用自然形式的信息,這正是當前模式識別研究的奮斗目標。目前,在文字識別、圖形識別、景物分析以及語言理解等方面都有已取得了不少成就。例如在文字識別方面,對規范的印刷體和嚴格的手寫體的識別,已經達到了成熟實用的水平,而對任意的手寫體的識別在通過幾次學習以后也能識別出來。第2章計算機的組成2.1數字表示和信息編碼
日常生活中是常用的是十進制,但計算機中使用的是二進制,為了書寫和口讀方便,還采用了八進制、十六進制等。在計算機中所有信息都必須以二進制形式進行編碼。2.1.1數字表示和信息編碼
1.各種進位計數制及其表示法
進位計數制就是按進位方法進行計數。日常生活中人們已習慣于“逢十進一”的十進制計數,它的特點是:
⑴用十個符號表示數。常用0、1、2、3、4、5、6、7、8、9符號,這些符號叫做數碼。
⑵數4024中的兩個4表示不同的值,可寫成多項式的形式:
4×103+0×102+2×101+4×100上式中的103,102,101,100分別是個位、十位、百位、千位。這“個、十、百、千……”在數學上稱為“權”。
⑶十進制有0到9共十個數碼,數碼的個數稱為基數。十進制的基數是10。當計數時每一位計到十往上進一位,也就是“逢十進一”。所以基數就是兩相鄰數碼中高位的權與低位權之比。
⑷任一個十進制數N可表示為:N=±[an-1×10n-1+an-2×10n-2+……+a0×100
+a-1×10-1+……+a-m×10-m]=±∑ai×10I
不難看出上式是一個多項式。式中的m、n是冪指數,均為正整數;ai稱為系數,可以是0到9十個數碼符號的任一個,由具體的數決定;10是基數。對上面公式推廣之,對于任意進位計數制,若基數用R表示,則任意數N可表示為:N=±[an-1×Rn-1+an-2×Rn-2+……+a0×R0+a-1×R-1
+……+a-m×R-m]=±∑ai×RI
式中m,n的意義同上,ai則為0,1…(R-1)中任一個,R是基數。
對于二進制,數N可表示為:
N=±[an-1×2n-1+an-2×2n-2+……+a0×20+a-1×2-1
+……+a-m×2-m]=±∑ai×RI基數是2,而數碼符號只有0和1兩個,進位為“逢二進一”。
對于八進制,數N可表示為:
N=±[an-1×8n-1+an-2×8n-2+……+a0×80+a-1×8-1
+……+a-m×8-m]=±∑ai×8I基數是8,可用8個數碼符號:0、1、2、3、4、5、6、7,進位為“逢八進一”。對于十六進制,數N可表示為:
N=±[an-1×16n-1+an-2×16n-2+……+a0×160+a-1×16-1
+……+a-m×16-m]=±∑ai×16I基數是8,可用16個數碼符號:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F進位為“逢十六進一”。
2.二進制數的特點計算機為什么要采用二進制呢?
⑴二進制數只有0、1兩個狀態,易于實現。例如電位的高、低,脈沖的有、無,指示燈的亮、暗,磁性方向的正反等等,都可以表示1、0。這種對立的兩種狀態區別鮮明,容易識別。
⑵二進制的運算規則簡單。對于每一位來說每種運算只有四種規則。
⑶
二進制信息的存儲和傳輸可靠。兩個穩態很容易識別和區分,所以工作可靠。⑷二進制節省設備。從數學上推導,采用R=e≈2.7進位數制實現時最節省設備,據此,采用三進制是最省設備的,其次是二進制。
⑸二進制可以用邏輯代數作為邏輯分析與設計的工具。邏輯代數是研究一個命題的真與假的數學工具,因此可以把二進制“0”和“1”作為真和假來看待。當然,二進制數也有它的缺點。
第一個缺點是人們不熟悉、不易懂,人們熟悉的是十進制。
第二個缺點是書寫起來長,讀起來不方便,為克服這個問題,又提出了八進制和十六進制。
3.各種進制之間的轉換
當兩個有理數相等時,其整數部分和小數部分一定分當兩個有理數相等時,其整數部分和小數部分一定分別相等,這是不同進制數之間轉換的依據。
1)十進制整數轉換二進制整數十進制整數轉換二進制整數,采用連續除2記錄余數的方法。設N為要轉換的十進制整數,當它已經轉換成n位二進制時。
N寫出下列等式:
N=an-1×2n-1+an-2×2n-2+…+a1×21+a0×20把等式兩邊都除以2,得到商和余數:N/2={an-1×2n-2+an-2×2n-3+……+a1×20}+a0顯然上式中括弧內是商Q1,余數正是我們要求的二進制數的最低位a0,然后把商Q1除以2,得到:
Q1/2={an-1×2n-3+an-2×2n-4+……+a2×20}+a1這次得到的余數是二進制數的次低位a1。按此步驟,一直進行到商數為0為止。53←÷2↓a01←÷2↓261363010←÷2↓1←÷2↓←÷2↓←÷2↓011a1a2a3a4a5例2-1把十進制的53轉換為二進制數。1363153(53)10=(110101)2
2)十進制小數轉換二進制小數
十進制小數轉換二進制小數采用連續乘2而記錄其乘積中整數的方法。設N是一個十進制小數,它對應的二進制數共有m位,則
N=a-1×2-1+a-2×2-2+……+a–m+1×2–m+1+a-m×2-m把等式兩邊都乘以2,得到整數部分和小數部分F1:
2N=a-1+{a-2×2-1+……+a-m×2–m+1}顯然上式中括弧內是小數部分F1,整數部分正是我們要求的二進制數的最高位a-1依次類推,就逐次得到a-1a-2a-3a-4a-5的值,這就是所求的二進制數。0.6875a-10.37511→↓×201a-4a-3a-2(0.6875)10=(0.1011)2→↓×20.75→↓×20.5→↓×20.0例2-2把十進制的0.6875轉換為二進制數。
值得注意的是:在十進制小數轉換成二進制小數時,整個計算過程可能無限制地進行下去(即積的小數部分始終不為0),此時可根據需要取若干位作為近似值,必要時對舍去部分采用類似十進制四舍五入的零舍一入的規則。
3)十進制混合小數轉換二進制數混合小數由整數和純小數復合而成。轉換時將整數部分和純小數部分分別按上述進行轉換,然后再將它們組合起來即可。(53.6875)10
=(110101.1011)24)二進制數轉換十進制數只要將被轉換的數按式展開,并計算出結果即可。(111011.101)2=1×25+1×24+1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3
=(59.625)105)二進制數轉換八進制數三位二進制數恰有八種組合(000、001、……111)。可以小數點開始向左和右分別把整數和小數部分每三位分成一組。然后用一個等值的八進制數代換每一組的三位二進制數,不足補0。現舉例說明如下。設有一個二進制數1101001.0100111,要轉換成八進制數。我們將它從小數點開始分別向左和向右分為三位一組:001101001.010011100151
.234(151.234)8(1101001.0100111)2=6)二進制數轉換十六進制數四位二進制數恰有十六種組合(0000、0001、……1111)。可以小數點開始向左和右分別把整數和小數部分每四位分成一組。然后用一個等值的十六進制數代換每一組的四位二進制數,不足補0。現舉例說明如下。10010100101.11100111014A5.E74(4A5.E74)16(10010100101.1110011101)2=000(2F4B.D0C)16=0010111101001011.110100001100十六進制數轉換為二進制數的過程正相反()27)任意制數間轉換如果一個R進制數轉換為十進制數可以利用(2.1)式計算。而一個十進制數轉換為R進制還是要分成整數部分和小數部分分別轉換,其方法是整數部分用“乘R取余”,而小數部分用“除R取整”來計算。
書寫時為了區別數制:1)在數的右下角注明數制。如(1011)2、(32)8、(7B)16的下標表示它們的進制。2)在數字后面加字母來區別,
加字母B(Binary)表示為二進制數;以字母O(Octal)表示為八進制數;以字母D(Decimal)或不加字母表示為十進制數;用字母H(Hexadecimal)表示為十六進制數。如1011B表示是二進制數,127H表示是十六進制數。十進制二進制八進制十六進制000011112102231133410044510155611066711177810001089100111910101012A11101113B12110014C13110115D14111016E15111117F2.1.2數的定點與浮點表示
在計算機中數的符號也用二進制數碼表示,通常取正數的符號為0,負數的符號為1。計算機中,涉及到小數點位置時,數有兩種表示方法,即定點表示和浮點表示。
1)定點數表示
任意一個二進制數總可以表示為純整數(或純小數)和一個2的整數次冪的乘積。例如,二進制數N可寫成:N=2P
×S其中,S稱為N的尾數;P稱為N的階碼;2稱為階碼的底。尾數S表示了N的全部有效數字,階碼P指明了小數點的位置。此處P、S都是用二進制表示的數。當階碼為固定值時,稱這種表示法為數的定點表示法。這樣的數稱為定點數。如P=0,且尾數S為純整數,這時定點數只能表示整數,稱為定點整數。如P=0,且尾數S為純小數,這時定點數只能表示小數,稱為定點小數。定點數的這兩種表示法,在計算機中均有采用。究竟采用哪種方法,都是事先約定的。
在計算機中數的符號也用二進制數碼表示,通常取正數的符號為0,負數的符號為1,在機器內定點數中小數點的規定:定點小數——約定小數點在符號位與最高數值位之間定點整數——約定小數點在最低有效位后面
當定點數的位數確定以后,定點數表示的范圍也就確定了。如果一個數超過了這個范圍,這種現象稱為溢出。
2)浮點數表示如果階碼可以取不同的數值,并與尾數一并表示,稱這種表示法為數的浮點表示法。這樣的數稱為浮點數。這時:其中階碼P用整數表示,可為正數或負數。用一位二進制數Pf表示階碼的符號位,當Pf=0時,表示階碼為正數;當Pf=1時,表示階碼為負數。而尾數S一般為純小數,用定點小數來表示,同樣用Sf表示尾數的符號,Sf=0表示尾數為正數(也就是N為正);Sf=1表示尾數為負數。可見,在機器中表示一個浮點數,要分為階碼和尾數兩個部分來表示。一般來說,階碼部分的位數決定了數的表示范圍,而尾數部分的位數決定了數的精度。
階碼尾數階碼符號尾數符號↓↓↓↓2.1.3原碼、補碼、反碼
1)機器數與真值數的符號在機器中亦被“數碼化”。用“0”表示正數符號,用“1”表示負數符號。
設有N1=1001001;N2=1001001。則它們在機器中表示為:N1:01001001N2:11001001
我們把“符號化”的數稱為機器數,而符號沒有數碼化的數稱為數的真值。機器數一般是固定長度的,數的位不夠時應當補足。
2)原碼原碼是一種簡單的機器數表示法。它規定正數的符號用0表示,負數的符號用1表示,數值部分即為該數的本身。
例如:X=+100101,其原碼表示為[X]原=00100101。X=—100101,其原碼表示為[X]原=10100101。機器數用原碼表示簡單易懂,易于真值轉換。但進行加減運算比較復雜。這是因為,原碼實際上只是把數的符號“數碼化”了,其運算方法與手算類似。例如要作x+y的運算,首先要判別符號,若x、y同號,則相加;若x、y異號,就要判別兩數絕對值的大小,然后將絕對值大的數減去絕對值小的數。顯然,這種運算方法不僅增加運算時間,而且使設備也復雜了。而機器數的補碼表示法可避免上述缺陷。
3)補碼補碼表示法的指導思想:把負數轉化為正數,使減法變成加法,從而使正負數的加減運算轉化單純的正數相加運算。
求補碼比較復雜,這里介紹一種簡單的轉換方法:如果X≥0時其補碼與原碼相同;如果X<0時其補碼符號位為1,其它各位求反碼,然后在最低位加1。所謂反碼就是將1變為0,0變為1。如:X=-1010101[X]補=10101010+1=10101011那么如何從[X]原轉換成[X]補呢?已知[X]原,則正數X的補碼為其本身;負數X的補碼等于它的原碼[X]原除符號位外“求反加1”。反之,若已知負數的補碼[X]補,同樣可以通過對[X]補除符號位外“求反加1”得到它的原碼[X]原。4)反碼在補碼表示中已經提到反碼,它也是一種機器數的表示法。在求反碼時,與求補碼相似,只是少加了一個1而以。X=1101010[X]反=01101010Y=1101010[Y]反=10010101數值原碼反碼補碼00000000000000000000000000100000001111111100000000+1000000010000000100000001-1100000011111111011111111-15100011111111000011110001-127111111111000000010000001-128100000002.1.4算術運算
1.補碼加法運算
[例2-4]X=-1001010,Y=-101001,用補碼加法求X+Y=?解:[X]補=10110110[Y]補=11010111。
用補碼運算:
用真值運算:[X]補10110110-1001010X+[Y]補11010111+-101001Y—————————————————丟掉←110001101=[X+Y]補
-1110011X+Y
[X+Y]補=[X]補+[Y]補=10110110+11010111=10001101由補碼運算結果可知:X+Y=-1110011。這與真值運算的結果一致。2.補碼減法運算
[例2-5]X=+1101010,Y=+110100,用補碼加法求X-Y=?解:[X]補=01101010,[Y]補=00110100,[-Y]補=11001100[X-Y]補=[X]補+[-Y]補=01101010+11001100=00110110X-Y=+110110。[例2-6]X=-1101011,Y=-110001,用補碼加法求[X-Y]補?解:[X]補=10010101,[Y]補=11001111,[-Y]補=00110001[X-Y]補=[X]補+[-Y]補=10010101+00110001=11000110
3.溢出檢查上面按照這種方法進行運算是正確的,但是否總是如此?再看兩個例子:
[例2-7]X=+1001011,Y=+1101001,用補碼加法求[X+Y]補?解:[X]補=01001011,[Y]補=01101001[X+Y]補=01001011+01101001=10110100
(溢出)
兩個正數相加,結果是負數,顯然是錯誤的。[例2-8]=-1110100,Y=-1101001,用補碼加法求[X+Y]補?解:[X]補=10001100,[Y]補=10010111[X+Y]補=10001100+10010111=00100011(溢出)
兩個負數相加,結果是正數,顯然是錯誤的。產生上述錯誤的原因,是因為在定點運算中參加運算的兩個數的絕對值都是小于27,但在運算過程中可能出現絕對值大于27的現象,這種現象稱為“溢出”,只有當兩個數符號相同且做加法時,才有可能產生溢出。因此,判別溢出的方法就是:如果同號相加而結果為異號,則就產生了溢出。在此只需在結果后加注“溢出”即可。至于解決方法將在其它課程中講解。
4.乘法運算在介紹乘除運算前,我們先來看一下用手計算二進制乘法的過程。1101被乘數×1011乘數————————110111010000+)1101——————————
10001111乘積
從上述過程中可以看出二進制的乘法實際只是被乘數的左移和加法,同理,除法可以通過移位和減法來實現,具體實現方法將在計算機組成原理中講述。2.1.5邏輯運算
常用的邏輯運算有“與”運算(邏輯乘)、“或”運算(邏輯加)、“非”運算(邏輯非)及“異或”運算(邏輯異或)等,下面將介紹這些運算的規則。
1.“與”(AND)運算的規則如下:0∧0=0
0∧1=0
1∧0=01∧1=1式中,“∧”是“與”運算符號,通常也可用“·”代替。由規則看出C=A∧B式中,只有當A與B同時為“1”時,結果C才為“1”;否則,C總為0。例如,兩個8位二進制數的“與”運算結果如下:
10110110∧11010111=1001011010110110∧11010111—————————
10010110
2.“或”(OR)運算的規則如下:0∨
0=0
0∨1=11∨0=11∨1=1式中,“∨”是“或”運算符號,通常也可用“+”代替。由規則看出C=A∨B式中,只有當A與B同時為“0”時,結果C才為“0”;否則,C總為0。如兩個8位二進制數“與”運算結果如下:
10110010∨11010111=1001011010110010∨10010111—————————
10010110
3.“非”(NOT)運算的規則如下:
0=11=0式中,“-”是“非”運算符號。“非”運算的一般式為:
C=A該式表明,C為A的非。例如,對二進制數的11001010進行“非”運算,則得其反碼00110101。
4.“異或”(EOR:ExclusiveOR)運算的規則如下:0⊕0=00⊕1=11⊕0=11⊕1=0式中,“⊕”是“異或”運算符號。“異或”運算的一般式為
C=A⊕B
當A與B值相異時,結果C才為“1”;否則,C為0。例如,兩個8位二進制數的“異或”運算結果如下:10100110⊕11010111=0111000110100110⊕11010111———————————01110001
計算機中的邏輯運算是按位計算的(沒有進位問題),它是一種比算術運算更為簡單的運算。2.1.6計算機中的編碼
計算機只能識別1和0,因此在計算機內表示的數字、字母、符號等都要以二進制數碼的組合來代表,這就是二進制編碼。根據不同的用途,有各種各樣的編碼方案,較常用的有ASCII碼、BDC碼、漢字編碼等。
1.ASCII碼
ASCII碼即美國標準信息交換碼,在計算機界得到了廣泛使用。由國際標準組織(ISO)確定為國際標準字符編碼。為了與國際標準接軌,我國根據它制定了國家標準,即GB1988。ASCII碼采用七位二進制位編碼,共可表示128個字符,它包括26個英文字母大小寫符號、數字、標點符號、專用符號及控制符號(如回車、換行),計算機中常以8位二進制即一個字節為單位表示,因此ASCII碼最高位取0。而擴展ASCII碼最高位為1,又可表示128個符號是一些制表符。ASCII碼表見表2.4。高位低位0000010100111001011101110000NULDLESP0@P`p0001SOHDC1!1AQaq0010STXDC2“2BRbr0011EXTDC3#3CScs0100EOTDC4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETB‘7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;K[k{1100FFFS,<L\l|1101CRGS-=M]m}1110SORS.>N^n~1111SIUS/?O_oDEL
2.BCD碼由于人們日常使用的是十進制,而機器內使用的是二進制,所以,需要將十進制表示成二進制碼。BCD碼用十個不同的碼:
0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,表示0~~9的十進制碼,但它的每位是用二進制編碼來表示的,因此稱為二進制編碼的十進制(BinaryCodedDecimal)。BCD碼十分直觀,可以很容易實現與十進制的轉換。在商業上有它特殊的意義。例:
(0010100001011001.01110100)BCD=2859.74
3.漢字編碼漢字編碼是一門涉及語言文字、計算機技術、統計數學、心理學、認知科學等多學科的邊緣學科。優秀的編碼應該建立在科學的基礎上,即符合漢字結構規律,適應人們的書寫習慣,又以國民知識為背景,具有友好的人機界面,便于使用,易于普及。
常見的漢字編碼有:國標碼,大五碼,Unicode,UTF-8等
1)國標碼
漢字是世界上是龐大的字符集。國家標準GB2312-80提供了中華人民共和國國家標準信息交換用漢字編碼,簡稱國標碼。該字符集的內容由三部分組成:第一部分是各類符號、各類數字以及各種字母、包括英文、俄文、羅馬字母、日文平假名與片
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 買賣合同擔保人協議書
- 逾期仲裁調節協議書
- 裝修合同毀約協議書
- 餐飲招收學員協議書
- 音樂機構合伙協議書
- 高考志愿招生協議書
- 魚塘投股合同協議書
- 食堂勞務外包協議書
- 食品轉讓合同協議書
- 賭博自愿離婚協議書
- mq135空氣質量檢測傳感器說明書空氣污染控制用
- 國家開放大學《監督學》形考任務( 1-4)試題和答案解析
- 試卷交接簽字單
- 高考化學答題技巧與規范課件
- 2022屆高考英語復習:最后一節英語課(13張PPT)
- 加強評標專家管理實施方案
- 股票實戰技巧(一)薛斯通道_CCI_DMI經典指標組合
- 小學生德育教育ppt課件
- 配電箱系統圖
- 精選靜電感應現象的應用練習題(有答案)
- 初中音樂--人聲的分類--(1)pptppt課件
評論
0/150
提交評論