『壹』 急求:老版本<計算機應用基礎>的電子書(word和txt的都行)
你機器上安裝迅雷了嗎,給你一個地址,可以搜到,不過得先安裝迅雷
http://www.gougou.com/search?search=%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%BA%94%E7%94%A8%E5%9F%BA%E7%A1%80&id=0
『貳』 計算機網路知識,TXT 哪下
什麼TXT哪裡下啊 TXT是文本文檔的擴展名 都是系統自帶的
『叄』 誰有《計算機網路原理與實用技術》電子版啊
計算機網路原理與實用技術.pdf
資源不易找。
相信您知道。
望及時採納。
非常感謝親。
註:手機黨看不到鏈接或附件的請追問或私信就OK.
『肆』 高分跪求"計算機通信對人類社會的影響"(一天之內要,再追加高分)
計算機網路技術對人類社會發展的影響
摘要:20世紀大眾媒體在世界范圍內經歷了網路化的歷程,信息化,數字化和網路化的高度一體化的信息交流方式使人們明顯感覺到這種新的方式帶給我們的快捷與自由,開放與互動;但網路技術帶給我們的種種優勢的同時也讓一些人違背了理性,利用網路技術牟取暴利,超越了法制的界限而給社會和個人帶來極大危害。 網路技術健康發展需要採取經濟,社會,法律,倫理,文化等多種手段,比如改革不合理的國際政治經濟秩序,建構具有適應性和靈活性的網路社會結構,發展具有人性化的新技術;建構和完善網路法律法規;建構具有現代網路精神的網路倫理,培養健康,全面的網路人格等等。技術的進步給了人們以更大的信息支配能力,也要求人們更嚴格地控制自己的行為。要建立一個」干凈「的互聯網路,需要法律和技術上的不斷完善,也需要網路中的每個人的自律和自重。因此,網路的未來應朝著個人與社會,個體與群體,個性與共性之間分散而有張力的互動形態發展,從而實現個人自由發發展與社會共合體健康發展的雙重目標。
關鍵詞:計算機網路 網路化 快捷性 自由性 開放性 互動性 創新性
伴隨著計算機的普及與發展,」Internet」一詞已經讓我們不再感到陌生,隨著E時代的來,新的理念和結構也在不斷的形成和完善,網路給人類的工作學習和生活帶來了極大的方便,計算機網路技術的發展對人類技術史的發展產生了不可磨滅的深遠影響,甚至於一些學者們認為計算機技術的發展將會引起一場新的科學革命。但是,當我們看到網路帶給我們利益的同時,也有著一些不容忽視的弊端的存在值得我們去探討和深思。
20世紀大眾媒體在世界范圍內經歷了網路化的歷程, 網路從70年代出現,用於軍事領域,到大規模民用只花了30年時間。目前,全球Internet用戶已突破1.2億,被連通的國家和地區已突破200個;在國內,1995年還沒有幾個人知道Internet為何物,到1998年年底,已有200多萬用戶上網。
網路對人類生活的影響可以說是革命性的。它改變了人們傳統的生活方式,通過Internet,人們可以從浩如煙海的信息中查詢到自己需要的部分,可以和遠隔重洋的親朋好友互通音訊,可以和未曾謀面的陌生人交流情感,可以坐在家中接受全球各地醫學專家的會診,可以實現網上購物、網上婚禮、網上營銷、網上政府。凡此種種,都是人們過去所不能想像的。信息化與數字化和網路化的高度一體化的信息交流方式使人們明顯感覺到這種新的方式帶給我們的快捷與自由,開放與互動;同時,也有一些人利用網路牟取暴利,違背了理性,超越了法制的界限而給社會和個人帶來極大危害。
眾所周知,技術的發展可以推動社會的發展,而社會的發展又能更新出新的技術,兩者相互促進,共同發展,就能推動人類歷史前進的腳步.
1. 計算機網路技術的發展推動了人類的科學技術的發展,同時給人們的學習,工作和生活帶來了諸多的好處,特點主要體現在以下幾個方面:
1) 快捷性
馬克思說過,人的本性在於它的社會性,人與人之間如何建立關系,如何交往主要是通過信息的傳遞,人的生存,交往和信息這三者之間有著密不可分的關系,人們為了能夠進行信息的交換,運用各種信息交換的手段,讓我們追朔一下人類傳播方式的變化速度:從語音到文字,幾萬年;從文字到印刷,幾千年;從印刷到電影和廣播,四百年;從第一次試驗電視到從月球播回實況電視,五十年。從網路作為軍事用途出現,到大規模地民用,三十年。很顯然,變化進程是呈加速度發展,每一種傳播方式普及後,都給人類的生活方式造成了翻天覆地的影響。同樣,當網路能應用到百姓的日常生活中時,很自然地將改變人們的生活方式。人類從最初的語言信息的傳遞到後來的文字以及文字的記載等不同的信息交換方式直至今日的網路信息傳遞,人們更加清楚地意識到計算機網路技術這種新的技術對人類社會影響的力量之強、速度之快、范圍之廣是前所未有的,人們無論在何時何地,總能享受到它帶給我們的快捷,讓在地球不同角落的人們在最短的時間之內就能接收到相同的消息,這種快捷是以前任何一種信交流方式所不能做到的。這種新的信息傳遞方式不僅僅可以跨越時間與空間,更能使信息的發布者與接收者進得密切的互動,以更加快捷的信息交流方式服務於人類。
2) 自由性
闡述這一點,首先要闡述什麼是自由,自由包括兩點,第一個體的自由,即個體意志的自覺。第二就是一切個體的同等自由。而我這里所說的網路的自由性在於它將以上兩者相互結合,而引申出的通過人與自然,人與人關系的互動而達到的精神自由,網路的迅速發展和廣泛應用為個人自由提供了手段和工具,這種網路中的自由可以讓不同身份,不同地位的人平等地享有發表自己言論,表達自己的思想和看法的權利,網路中的這種自由打破了現實生活中的那種陳規,在網上人們可以不必在意對方的職位,年齡,文化層次,享有同等的權利在網路上發表自己的言論。因此,網路的這種特性可以用尼葛洛龐對網路時代的「數字化生存」的四個特質概括:分散權力,全球化,追求和諧和賦予權力。這也充分體現了網路的自由性。同時,網路的這種自由性也消除了人與人之間的傳統界限,降低了技術應用的門檻兒,大大提高了廣大勞動人民的科學文化素質,在現實中的社會平等方面也起到了推動作用。
3) 開放性
開放性是網路的根本特徵之一,開放與共享也是一脈相承的,網路在現實發展中始終也遵循著開放與共享的精神,比如我們使用計算機時必不可少的軟體,以使用方式分類可以分為:收費軟體(以營利為目的),共享軟體(作者擁有版權,但可以免費試用),免費軟體(版權一般僅限於讓其傳播版權擁有者的名字,使用者可以隨便使用,但不得對軟體進行程序上的修改)和公共軟體(不具備版權,允許任何人使用,修改)四種,以此為例我們就可以看出網路的共享性給傳統的知識產權觀念提出了很大的挑戰。同時在網路上信息的知識產權的概念也變得模糊了,你很難分辨出信息的發布者有無出版的知識產權,而那種完全封閉性的方式又難以做到信息的共享,所以就使得網路具有開放性。
4) 互動性
網路為不同民族文化的交流與互動提供前所未有的工具, 使人們能以多對多的方式進行溝通,打破了那種傳統文化中的單向的傳播方式,信息的發出者還可以是接收者,人們即可是做為參與者,也可是作為製作者,具有雙重性,這種互動性可以積極地調動起人們的參與的慾望,實現一些在現實中受於限制而不能參與進來的交流,在數字時代的虛擬世界裡,人們並未像想像中那樣謊話連天,互聯網的獨特性,某種程度上出人意料地抑制了說謊,出於對現實世界的虛偽的反彈,人們更願意在網路中表露內心世界的真實。誠信在網路間彌漫並在不同個體間相互傳播,這種互動性使個人的價值得到前所未有的突顯和發揮。
5) 創新性
每一項技術的發展都離不開創新,網路技術的發展也是如此。不斷創新是網路之所以始終保持旺盛的生命力的根本,這種創新性也讓我們不斷地接收新的觀念,學習新的技術,從而引導我們更好地去發展我們社會。
2. 計算機網路技術的發展雖然對人類社會的發展起到了不可磨滅的推動作用,但是作用與反作用往往是並存的,在技術發展的背後引發出的種種問題也是顯而易見的。
首先,正是因為網路空間的這種虛擬性,讓人們過於的在這個空間里放縱自己,沉迷於這樣的虛擬世界,之所以造成人們過於沉迷於網路,我們可以從弗洛依德的心理分析學中得到解釋。他認為人格有三重,即「超我」「自我」和「本我」,「超我」是按照社會的倫理規范所形成的「我」;而「本我」是按照自我快樂的原則來行為的;「自我」介於兩者之間。他認為文明越發展,可能對人越壓抑,就是用「超我」的人格特徵來壓抑「本我」的人格特徵,表現為「自我」的人格。虛擬的世界給了人們以表現「本我」人格的機會,虛擬的環境是人自由地表現「本我」的一種狀態。也可是這樣從這樣的角度考慮,人們往往在現實中解決不了的問題喜歡跑到幻想中去解決,比如電腦游戲,它給人一種逃避現實性的途徑,在游戲中扮演一個自己從未體驗過的角色或者是在現實中根本不可能實現的夢想,從而使人們過於沉迷於游戲,沉迷於網路,而造成了現實中的一些危害甚至於個人的學業,財產和生命;再者,網路的開放性使得個人的隱私安全得不到根本的保障,有關報道曾經指出,美國政府監控著全球90%以上的電子郵件及電子商務信息,無論其目的如何,都不能不讓人感到恐懼,「在方興未艾的監視機器面前,我們面對的並不是一個中性的技術發展過程,而是實用主義哲學家終於通過計算機而實現的一種社會模式,它沒有陰影,沒有秘密,沒有神話,它是利用0和1這兩個數字的代碼的組合的赤裸裸的數據。」 現實社會中人與人的交往形式主要是面對面的直接交往,道德活動范圍受物理空間限制。因此,傳統道德規范與責任的確立首先受主體的社會地位、社會身份和經濟利益等因素制約,道德交往的范圍與職業、性別、年齡密切相關。同時,道德評價標准和環境也相對穩定,人們依據一定的文化傳統來做出判斷,評價標准不可避免地帶有民族性、時代性。而網路化的交往,則超越了一般意義的時空限制。可以說,只要願意,網路可以將全球不同角落的每一個人都「網」在其中。而且,網路化的交往是「虛擬」的交往,社會成員可以在任何時間、任何地點,就任何內容與自己所關心的對象進行交流。它一方面使道德活動的范圍大幅度拓寬,引發了社會價值觀念互動方式的更新。世界各地區、各民族的風俗習慣、價值觀念以虛擬方式呈現在人們面前,為個體道德的社會化提供了一個廣闊的舞台,為傳統倫理道德的發展注入了新的生機和活力。另一方面,網路使現實的真實的社會道德關系日趨鬆散,使人際關系淡漠,情感疏遠。人們在網路上交流時,言談舉止都被轉換成二進制的語言,人的音容笑貌以數字化方式在屏幕上傳播,人成了數碼化的存在。Internet改變了個體交往的方式,使人與人之間的交流變成了人與機器之間的交談,感情的直接交流越來越小,人與人之間的依賴關系逐漸被人對網路的依賴關系所取代。這種狀況在網路發達的社會中已有充分的表現,即使是在我國目前網路欠發達的情況下也有一定程度的反映。數字化、電子化在一定意義上會無情地傷害人類,正如一位美國學者所提醒的:「社會的文化價值方面通常很難跟上技術革命的迅猛發展。而像中國這樣的發展中國家,在抓住信息時代機遇的同時,卻並不總是能意識到和密切關注各種風險以及為迅猛的技術進步所付出的日漸增長的社會代價。」正是這些挑戰引發了人們的深思。
3. 網路的未來應朝著個人與社會,個體與群體,個性與共性之間分散而有張力的互動形態發展,從而實現個人自由發發展與社會共合體健康發展的雙重目標。
網路技術健康發展需要採取經濟,社會,法律,倫理,文化等多種手段,比如改革不合理的國際政治經濟秩序,建構具有適應性和靈活性的網路社會結構,發展具有人性化的新技術;建構和完善網路法律法規;建構具有現代網路精神的網路倫理,培養健康,全面的網路人格等等。技術的進步給了人們以更大的信息支配能力,也要求人們更嚴格地控制自己的行為。要建立一個」干凈「的互聯網路,需要法律和技術上的不斷完善,也需要網路中的每個人的自律和自重。所以,網路的未來應朝著個人與社會,個體與群體,個性與共性之間分散而有張力的互動形態發展,從而實現個人自由發發展與社會共合體健康發展的雙重目標。
參考文獻:
(1) 《行為的組織:一種神經心理學的理論》(D. O. 赫布),1949
(2) 《人類如何解決問題》(A. 紐瓦爾、司馬賀),1972
(3) 《認知心理學》(U. 尼斯爾),1967
(4) 《虛擬認識論》(張怡 酈全民 陳敬全),2003
(5) 《認知技巧的獲得》(論文)(J. R. 安德森),1982
(6) 《虛擬現實技術》(曾芬芳),1987
『伍』 單招考試微機考試
題號 題目描述 選項A 選項B 選項C 選項D 答案
1 ASCII碼的中文名稱為( )。 美國信息交換碼 美國標准交換碼 美國標准信息交換代碼 標准信息交換碼 C
2 ASCII碼一共有( )個編碼。 125 126 127 128 D
3 (1010101)2=( )10 83 84 85 86 C
4 (11010011)2=( )10 210 211 212 213 B
5 計算機能夠處理或存儲的最小信息單位是一個( )。 位 位元組 欄位 以上都對 A
6 第一台「馮·諾依曼結構」的計算機名字叫( )。 EDIAC ENIAC EDVAC ENIVC C
7 顯示器有12寸、14寸、17寸等不同規格,這里的尺寸指的是顯示器屏幕( )的尺寸。 橫線 豎線 對角線 以上都不對 C
8 第一台「馮·諾依曼結構」的計算機是在( )年問世的。 1946 1947 1948 1949 D
9 PowerPoint屬於( )。 應用軟體 系統軟體 支撐軟體 邊緣軟體 A
10 用PowerPoint編輯的演示文稿,其擴展名固定為( )。 doc ppt zip pot B
11 只將活動窗口以圖片的形式放到剪貼板中,可由( )來完成。 PrintScreenSysRq Alt+PrintScreenSysRq Ctrl+PrintScreenSysRq Shift+PrintScreenSysRq C
12 當前頁幻燈片是第三頁幻燈片,如果在當前頁幻燈片上加入設計模版,則所加的模版( )。 被加到當前頁上 被加到當前頁之前的含當前頁所有頁上 被加到當前頁之後的含當前頁所有頁上 被加到所有頁上 D
13 打開下列( )文件可以同時打開PowerPoint應用程序。 A.exe BOT.ppt DEF.bot UIR.xls B
14 PowerPoint中有( )種視圖方式來顯示所編輯的演示文稿。 2 3 4 5 D
15 在創建幻燈片文件時,如果沒有指定保存的位置,那麼在進行保存時,機器會將所編輯的文件自動保存在( )中。 C盤 D盤 E盤 F盤 A
16 在Excel中,藉助於( )鍵,可以選定不連續的幾個單元格。 左Shift Ctrl Alt 右Shift B
17 在PowerPoint中文件菜單底部一次最多能夠顯示( )個最近使用過的文件的名字。 7 8 9 10 C
18 世界上第一台電子計算機是( )國製造出來的。 德 法 美 英 C
19 鍵盤上的鍵子通常分為( )個區。 3 4 5 6 B
20 在輸入一篇中文文章時,我們要以( )的輸入為主要輸入方法。 字 詞 句 都不對 B
21 在網路上,人們經常用一些特殊的符號來表達感情,下面這些符號中( )表示微笑。 :-( :-o :-> :-) D
22 人類歷史上經歷了五次信息技術革命,第五次信息技術革命始於20世紀60年代,其標志是( )和計算機與現代通信技術的結合。 計算機使用的研究 計算機的開始使用 計算機的普及應用 以上都不對 C
23 第一個用無線電發送新聞的人是( )。 莫爾斯 馬可尼 比爾·蓋茨 可斯拉 B
24 在計算機中輸入一篇文章時,在執行保存操作之前,輸入的內容是被存放在( )中。 計算機中 硬碟中 內存中 CPU中 C
25 為某個文件夾改名,可能會用到下面的步驟:①選中指定文件夾②滑鼠指向指定文件夾③單擊滑鼠右鍵④執行重命名命令⑤雙擊指定文件夾名⑥輸入新文件夾名。下列( )組合可以完成任務。 ①⑤⑥ ②⑤⑥ ③④⑥ ②③④⑥ D
26 在製作幻燈片時,如果不小心將有用的一項內容刪除了,那麼我們可以用( )按鈕來恢復被刪除的內容。 取消 撤消 恢復 還原 B
27 在Word中插入畫筆圖片是通過在Word 窗口中的( )實現的。 「插入」菜單下的圖片命令 「插入」菜單下的圖文框命令 「插入」菜單下的文本框命令 「插入」菜單下的對象命令 D
28 用Word編輯文檔時,在( )模式下能看到頁邊空白。 普通視圖 頁面視圖 大綱視圖 Web版式視圖 B
29 ( )是Word應用程序處理的主要對象。 表格 文字 圖片 數據 B
30 下列( )操作不能關閉Word應用程序。 雙擊標題欄左邊的「W」圖標 單擊標題欄右邊的「關閉」按鈕 單擊「文件」菜單下的「關閉」命令 單擊「文件」菜單下的「退出」命令 C
31 在Word窗口中,用( )菜單中的命令可以控制常用工具欄在窗口中的顯示或隱藏。 「工具」 「視圖」 「格式」 「窗口」 B
32 段落的標記是在( )後產生的。 輸入句號 按Enter鍵 使用<Shift>+<Enter>組合鍵 加入分頁符 B
33 在Word中,有時候「文件」菜單的下部會顯示出若干個文件名,這些文件名是( )的名字。 用戶正在使用的文件 列印機正在列印的文件 擴展名為Doc的文件 Word最近期處理的若干個文件 D
34 Word中的( )視圖能夠顯示出文檔的頁眉和頁腳。 普通視圖 頁面視圖 大綱視圖 全屏幕視圖 B
35 在Word中( )命令可以給文檔加上頁碼。 「文件」菜單下的「頁面設置」 「視圖」菜單下的「頁面」 「格式」菜單下的「樣式」 「插入」菜單下的「頁碼」 D
36 在Word的列印對話框中,列印頁碼設置為2-5,10,12,則表示列印的是( )。 第2頁,第5頁,第10頁,第12頁 第2至5頁,第10至12頁 第2至5頁,第10頁,第12頁 第2頁,第5頁,第10至12頁 C
37 在Word文檔中,每個段落都有自己的段落標記,段落標記的位置應該在( )。 段落的起始處 段落的結尾處 段落的中間處 段落中的任何位置,但是用戶看不到該位置 B
38 在Word中,若想設定列印紙張的大小,最常用的方法是使用( )命令。 「文件」菜單中的「列印預覽」 「文件」菜單中的「頁面設置」 「視圖」菜單中的「工具欄」 「文件」菜單中的「列印」 B
39 在Word文檔中選擇某段文字,並連擊兩次格式工具欄中的「B」按鈕,那麼被選中的這段文字( )。 呈粗體格式 呈細體格式 格式不變 產生出錯報告 C
40 在Word的編輯狀態,選中某一內容後執行編輯菜單中「復制」命令,則( )。 被選擇的內容將出現在插入點處 被選擇的內容將被復制到剪貼板中 被選擇的內容出現在復制內容之後 游標所在的段落中的內容被復制到剪貼板 B
41 在Word的列印預覽狀態下,如果要列印該文件,則( )。 必須退出預覽狀態才能執行列印命令 在列印預覽狀態也可以直接列印該文件 在列印預覽狀態下只能列印當前預覽的一頁 只能在該狀態下列印 B
42 計算機對用Word創建的文檔,默認的保存位置是( )。 C:\ C:\Windows D:\ C:\My Documents D
43 在Word中,調出快捷菜單的方法是( )。 單擊滑鼠左鍵 雙擊滑鼠左鍵 單擊滑鼠右鍵 雙擊滑鼠右鍵 C
44 將文檔中的指定內容復制到別處,要進行的第一步操作是( )該部分內容。 粘貼 復制 選中 剪切 C
45 在Word窗口中,單擊一下工具欄上的「撤消」工具按鈕,可以( )。 撤消前一次操作 撤消所有操作 撤消錯誤操作 回到最後一次存檔時的狀態 A
46 如果想讓Office小助手顯示在屏幕上,可通過( )菜單來完成。 窗口 幫助 工具 不用菜單而用右鍵 B
47 在Word文檔中加入一個5×3的表格,所加入的應該是( )行( )列的表格。 5行3列 3行5列 15行15列 以上答案都不對 A
48 選定Word表格中的一個單元格的方法是:將滑鼠移向該單元格,當指針變為( )形時,單擊滑鼠右鍵。 I 十字花 空心箭頭 實心右箭頭 D
49 剪貼板中可以存放( )次剪切下來的內容。 1 2 3 多 D
50 在Word應用程序中,將游標定位在表格中的某一個單元格中,調出快捷菜單,使用「邊框和底紋」命令進行顏色的填充,則填充的可能是( )的顏色。 游標所在的單元格 整張表格 A、B答案都對 A、B答案都不對 C
51 在Word中用「列印預覽」功能預覽完文檔後,點擊( )按鈕可以退回到編輯狀態。 列印預覽工具欄上的「關閉」按鈕 標題欄上的「關閉」按鈕 滑鼠右鍵關閉預覽窗口 利用菜單欄中的命令進行關閉 A
52 在Word中使用「列印」功能時,如果想列印不連續的幾張,則可以用( )號來分隔頁號。 , 。 - 、 A
53 我們在進行網頁瀏覽時,無論處在什麼位置,只要點擊工具欄上的( )按鈕,就可以立即返回到剛剛打開IE時的狀態。 撤消 收藏 歷史 主頁 D
54 Word是Office的組件之一,它主要是用於對( )進行處理。 圖形 文字 圖片 表格 B
55 打開Word後,我們可以根據自己的需要,用( )菜單來控制工具欄在窗口中的顯示或隱藏。 工具 窗口 插入 視圖 D
56 在Word窗口中,用下列( )操作可以新建一個Word文件。 Ctrl+S Ctrl+N Ctrl+A Ctrl+ C B
57 下列( )操作可以將選定的內容放到剪貼板中。 Ctrl+A Ctrl+B Ctrl+X Ctrl+ P C
58 在Word中輸入一篇多自然段的文章,應該以( )鍵進行分段。 PageDown ↓ Enter 以上答案都不對 C
59 在豎排文本框內,游標會變成( )形狀。 I ━ ┝┥ ┃ B
60 用滑鼠的( )鍵單擊軟鍵盤按鈕,能夠控制軟鍵盤的顯示與隱藏。 左 中 右 側 A
61 用下列( )方法可以使選中的文本框的邊框在任何背景中都不顯示出來。 將文本框線條設置成無線條顏色 將文本框線條設置成白色 將文本框線條設置成與背景相同的顏色 將文本框線條設置成半透明色 A
62 Word應用程序中默認的字型大小是( )號。 三 四 五 六 C
63 Word的「頁面設置」中默認的紙張類型是( )型紙。 A3 A4 B3 B4 B
64 下列設備中( )能夠攜帶計算機病毒。 數碼相機 掃描儀 光碟機 光碟 D
65 在Word中錄入英文片斷時,系統會自動進行拼寫檢查,如果錄入有誤,計算機會在出錯的位置下方顯示一條( )色的波浪線。 紅 黃 綠 藍 A
66 Word有( )種顯示模式。 一 二 三 四 D
67 Word中默認的中文字體名稱是( )。 宋體 仿宋體 新宋體 華文中宋 A
68 將網上的好文章保存到磁碟中,可能會用到下面的一些步驟:①單擊具有超級鏈接的文章標題②右擊具有超級鏈接的文章標題③執行「目標另存為」命令④執行「保存到」命令⑤在彈出的對話框中進行保存。正確的組合應該是( )。 ①③⑤ ①④⑤ ②③⑤ ②④⑤ C
69 在Word中,對所編輯的文本進行文字修飾,對於某些字體,雖然設置成功,但是在列印時打出來的依然是機器默認的宋體字或是列印不出來,這是因為( )。 計算機中不存在這種字體 計算機中這種字體庫不全,所以無法使用 列印機中沒有這種字型檔 計算機與列印機的連接線出錯造成了傳輸錯誤 C
70 對於在Word中插入的圖片,要精確調整其大小,可以用( )的方法實現。 裁剪該圖片 拖拽該圖片 改變圖片屬性 設置圖片尺寸 D
71 網站的名字通常能表達其中文含義,下列網站名字中,請你推測一下,( )是遠程教育網。 www.nanotech.com.cn www.chinae.com www.stcity.net.cn www.cosmoscape.com B
72 用記事本編輯的文檔,其文件擴展名為( )。 .doc .txt .exe .bat B
73 在Windows桌面的最下部有一個任務欄,與任務欄中凹下去的任務按鈕相對應的是( )。 正在使用的程序 已經打開的程序 可以由用戶自己設定指向哪個程序 A、C是正確的 A
74 按照標准指法,輸入( )單詞時不需要用到左手的食指 rest chin story linker B
題號 題目描述 答案
1 對信息進行編碼是信息技術的基礎,其意義在於:利用編碼便於管理,能夠有效地傳遞信息。 1
2 國際上通用的字元編碼標準是ASCII碼。 1
3 在計算機中任何信息都是以二進制編碼來存儲的。 1
4 語言是一種編碼。 1
5 一張普通光碟一般可以存儲約650M位元組的信息,即3億個漢字。 1
6 計算機中的「字」是指被作為一個整體來處理或運算的一串數碼。 1
7 通常,字長較長的計算機處理信息的能力也較強。 1
8 任何一個應用軟體的運行,都需要有一定的軟硬體條件的支持,如果達不到這個要求,這個應用軟體將無法運行。 1
9 運行某一個應用程序時,必須先將該應用程序裝入到計算機硬碟中,然後才能應用。 0
10 計算機中的存儲器共分為兩大類:只讀存儲器、隨機存儲器。 0
11 計算機中之所以採用二進制而不採用我們生活中較為熟悉的十進制來處理信息,是因為計算機中的電子器件都有兩個最為穩定的狀態,即電流導通狀態與電流斷開狀態。 1
12 製作PowerPoint幻燈片時,我們可以為其加一個背景音樂,也可以把音樂作為一個獨立的對象加入其中。 1
13 在某一個演示文稿中,若想加入一個新的幻燈片,則要用到常用工具欄中的「新建」按鈕。 0
14 文件的擴展名是表示文件類別的,如果將某一文件的擴展名doc改為ppt,則再打開這個文件時,可能無法正確瀏覽其中的內容。 1
15 在演示文稿中加入一個VCD影片,實際上就是利用鏈接功能播放這個VCD影片。 1
16 小明在看一個演示文稿時發現其中有多處文字與其它文字字色不同,且這些文字下面有一條下劃線,那麼這些特殊的文字一定是鏈接的載體。 0
17 在PowerPoint應用程序中進行錄音,除了可以用PowerPoint中的錄音功能外,還可以用Windows中提供的錄音機程序來完成。 1
18 在創建演示文稿時,如果確定幻燈片版式的「新幻燈片」對話框沒有出現,那麼我們可以利用菜單欄中的命令將其調出來。 1
19 Word、PowerPoint、Excel窗口結構極其相似,是因為它們都是Office的組件,所以被設計得結構相似,以方便用戶的學習和使用。 1
20 Word、PowerPoint、Excel中對字體的修飾方法都是相似的。 1
21 在PowerPoint中對文字進行修飾時,我們只能使用顏色對話框中的標准選項卡中所提供的顏色。 0
22 在PowerPoint中我們可以對整張表格進行顯示比例的設定,也可以對所選定的某幾個單元格進行顯示比例的設定。 0
23 「保存」與「另存為」的不同點在於這兩個命令可以將文件保存在不同的位置,其它都相同。 0
24 PowerPoint中提供了一個圖片的素材庫,如果用戶覺得這個庫中的素材不能夠滿足自己的要求,可以將其擴充。 1
25 幻燈片的版式確定好後就不可以再改變了。 0
26 我們可以用插入幻燈片的方法將多個演示文稿中的幻燈片組合起來。 1
27 鏈接結構也可以被復制。 1
28 在PowerPoint演示文稿中,圖表實際上是一張圖片。 1
29 當我們使用菜單時,有時菜單中的命令不能全部顯示出來,這時我們只要將滑鼠指向該菜單中最下部的命令按鈕(即左轉90度的「》」號所在的命令按鈕)停留一會兒即可將該菜單全部打開。 1
30 在使用菜單時,經常會看到一個很長的菜單中會有幾條暗灰色的橫線將該菜單分成幾個部分,通常兩條暗灰線之間的命令是一組功能上接近或類似的命令。 1
31 在PowerPoint幻燈片中加的動作按鈕通常有兩種擊活方式,一種是用滑鼠單擊該按鈕,另一種是滑鼠移過該按鈕。 1
32 在PowerPoint中加的動作按鈕也有彩色顯示和灰度黑白預覽顯示兩種顯示方式 1
33 信息技術包括控制技術。 1
34 用戶在網上幾乎可以得到自己想要的任何信息。 1
35 信息具有可傳遞性 1
36 在Windows桌面上任務欄中的任意一個任務按鈕都對應一個打開的應用程序,如果將某個應用程序關閉,則其對應的任務按鈕將變成深灰色。 0
37 使用「智能ABC」法進行漢字輸入時,鍵盤必須處於小寫字母狀態。 1
38 對已經編輯好的文本,多次使用「另存為」命令可以產生多個副本。 1
39 Office助手在Office的任何一個組件中可以隨時為用戶提供幫助,因此不能夠被用戶取消。 0
40 計算機病毒有傳染性、破壞性。 1
41 Office組件對用戶輸入的英文單詞具有自動檢查的功能。 1
42 發送電子郵件時,可以將一個郵件同時發送給多個接收者。 1
43 在計算機中必須將輸入的內容以文件的形式保存在磁碟中,再次開機時才能繼續使用。 1
44 畫圖中的鉛筆工具只能用滑鼠的左鍵進行操作而不能用滑鼠的右鍵進行操作。 0
45 畫圖中的「用顏色填充」工具可以將任意一個圖形填上顏色。 0
46 我們在為文件或文件夾命名時,通常要讓所起的名字具有一定的含義,如Mary<.txt>表示該文件夾中存放的是瑪麗的文本類型的文件。 0
47 Windows98資源管理器是以樹型目錄結構來管理文件和文件夾的,這種管理模式的優點是層次結構清晰,文件或文件夾間的相對位置關系一目瞭然。 1
48 Windows98中,「系統屬性」對話框的「設備管理器」選項卡中,列出了計算機中各種硬體設備的情況,若某項圖標前面出現有「!」,則表明該項設備與其他設備沖突。 1
49 在計算機中進行操作,一般都要遵循「先選定,後操作」的原則。 1
1i 0cuo
運行某一個應用程序時,必須先將該應用程序裝入到計算機硬碟中,然後才能應用。 0
計算機中的存儲器共分為兩大類:只讀存儲器、隨機存儲器。 0
在某一個演示文稿中,若想加入一個新的幻燈片,則要用到常用工具欄中的「新建」按鈕。 0
小明在看一個演示文稿時發現其中有多處文字與其它文字字色不同,且這些文字下面有一條下劃線,那麼這些特殊的文字一定是鏈接的載體。 0
在PowerPoint中對文字進行修飾時,我們只能使用顏色對話框中的標准選項卡中所提供的顏色。 0
在PowerPoint中我們可以對整張表格進行顯示比例的設定,也可以對所選定的某幾個單元格進行顯示比例的設定。 0
「保存」與「另存為」的不同點在於這兩個命令可以將文件保存在不同的位置,其它都相同。 0
幻燈片的版式確定好後就不可以再改變了。 0
在Windows桌面上任務欄中的任意一個任務按鈕都對應一個打開的應用程序,如果將某個應用程序關閉,則其對應的任務按鈕將變成深灰色。 0
Office助手在Office的任何一個組件中可以隨時為用戶提供幫助,因此不能夠被用戶取消。 0
畫圖中的鉛筆工具只能用滑鼠的左鍵進行操作而不能用滑鼠的右鍵進行操作。 0
畫圖中的「用顏色填充」工具可以將任意一個圖形填上顏色。 0
我們在為文件或文件夾命名時,通常要讓所起的名字具有一定的含義,如Mary<.txt>表示該文件夾中存放的是瑪麗的文本類型的文件。 0
一、
1、新建空演示文稿,以文件名為「p1.ppt」保存在考生文件夾下的PPT目錄里。
2、在幻燈片中插入文字內容為「AAA」樣式為「水平」的文本框。
3、設置幻燈片中元素的預設動畫為「飛入」。
4、設置幻燈片中文本框顏色為「紅色」。
二、
1、新建空演示文稿,以文件名為「p2.ppt」保存在考生文件夾下的PPT目錄里。
2、在幻燈片中插入文字內容為「BBB」樣式為「垂直」的文本框。
3、設置幻燈片中文字顏色為「綠色」。
4、設置幻燈片的切換方式為「水平百葉窗」。
三、
1、新建空演示文稿,以文件名為「p3.ppt」保存在考生文件夾下的PPT目錄里。
2、在幻燈片中插入內容為「ddd」樣式為任何一種藝術字。
3、設置幻燈片中元素的預設動畫為「向右擦去」。
4、插入新幻燈片。
四、
1、新建空演示文稿,以文件名為「p4.ppt」保存在考生文件夾下的PPT目錄里。
2、插入任何樣式的剪貼畫。
3、設置幻燈片的背景顏色為「藍色」。
4、設置幻燈片中元素的預設動畫為「向右擦去」。
5、給文本框或藝術字、圖片加上超級鏈接,URL為http://www.sohu.com/。
6、給文本框或藝術字、圖片加上超級鏈接,URL為「asdf」。
『陸』 怎麼就找不到計算機網路基礎txt格式的書呢
不是txt的行不行?http://book.gougou.com/search?search=%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C%E5%9F%BA%E7%A1%80&restype=3&id=10000045&ty=0&pattern=0
『柒』 CRC演算法模擬 計算機網路基礎課程 高分求解 正解追加200
引言
CRC的全稱為Cyclic Rendancy Check,中文名稱為循環冗餘校驗。它是一類重要的線性分組碼,編碼和解碼方法簡單,檢錯和糾錯能力強,在通信領域廣泛地用於實現差錯控制。實際上,除數據通信外,CRC在其它很多領域也是大有用武之地的。例如我們讀軟盤上的文件,以及解壓一個ZIP文件時,偶爾會碰到「Bad CRC」錯誤,由此它在數據存儲方面的應用可略見一斑。
差錯控制理論是在代數理論基礎上建立起來的。這里我們著眼於介紹CRC的演算法與實現,對原理只能捎帶說明一下。若需要進一步了解線性碼、分組碼、循環碼、糾錯編碼等方面的原理,可以閱讀有關資料。
利用CRC進行檢錯的過程可簡單描述為:在發送端根據要傳送的k位二進制碼序列,以一定的規則產生一個校驗用的r位監督碼(CRC碼),附在原始信息後邊,構成一個新的二進制碼序列數共k+r位,然後發送出去。在接收端,根據信息碼和CRC碼之間所遵循的規則進行檢驗,以確定傳送中是否出錯。這個規則,在差錯控制理論中稱為「生成多項式」。
1 代數學的一般性演算法
在代數編碼理論中,將一個碼組表示為一個多項式,碼組中各碼元當作多項式的系數。例如 1100101 表示為
1·x6+1·x5+0·x4+0·x3+1·x2+0·x+1,即 x6+x5+x2+1。
設編碼前的原始信息多項式為P(x),P(x)的最高冪次加1等於k;生成多項式為G(x),G(x)的最高冪次等於r;CRC多項式為R(x);編碼後的帶CRC的信息多項式為T(x)。
發送方編碼方法:將P(x)乘以xr(即對應的二進制碼序列左移r位),再除以G(x),所得余式即為R(x)。用公式表示為
T(x)=xrP(x)+R(x)
接收方解碼方法:將T(x)除以G(x),如果余數為0,則說明傳輸中無錯誤發生,否則說明傳輸有誤。
舉例來說,設信息碼為1100,生成多項式為1011,即P(x)=x3+x2,G(x)=x3+x+1,計算CRC的過程為
xrP(x) x3(x3+x2) x6+x5 x
-------- = ---------- = -------- = (x3+x2+x) + --------
G(x) x3+x+1 x3+x+1 x3+x+1
即 R(x)=x。注意到G(x)最高冪次r=3,得出CRC為010。
如果用豎式除法,計算過程為
1110
-------
1011 /1100000 (1100左移3位)
1011
----
1110
1011
-----
1010
1011
-----
0010
0000
----
010
因此,T(x)=(x6+x5)+(x)=x6+x5+x, 即 1100000+010=1100010
如果傳輸無誤,
T(x) x6+x5+x
------ = --------- = x3+x2+x,
G(x) x3+x+1
無余式。回頭看一下上面的豎式除法,如果被除數是1100010,顯然在商第三個1時,就能除盡。
上述推算過程,有助於我們理解CRC的概念。但直接編程來實現上面的演算法,不僅繁瑣,效率也不高。實際上在工程中不會直接這樣去計算和驗證CRC。
下表中列出了一些見於標準的CRC資料:
名稱 生成多項式 簡記式* 應用舉例
CRC-4 x4+x+1 ITU G.704
CRC-12 x12+x11+x3+x+1
CRC-16 x16+x12+x2+1 1005 IBM SDLC
CRC-ITU** x16+x12+x5+1 1021 ISO HDLC, ITU X.25, V.34/V.41/V.42, PPP-FCS
CRC-32 x32+x26+x23+...+x2+x+1 04C11DB7 ZIP, RAR, IEEE 802 LAN/FDDI, IEEE 1394, PPP-FCS
CRC-32c x32+x28+x27+...+x8+x6+1 1EDC6F41 SCTP
* 生成多項式的最高冪次項系數是固定的1,故在簡記式中,將最高的1統一去掉了,如04C11DB7實際上是104C11DB7。
** 前稱CRC-CCITT。ITU的前身是CCITT。
2 硬體電路的實現方法
多項式除法,可用除法電路來實現。除法電路的主體由一組移位寄存器和模2加法器(異或單元)組成。以CRC-ITU為例,它由16級移位寄存器和3個加法器組成,見下圖(編碼/解碼共用)。編碼、解碼前將各寄存器初始化為"1",信息位隨著時鍾移入。當信息位全部輸入後,從寄存器組輸出CRC結果。
3 比特型演算法
上面的CRC-ITU除法電路,完全可以用軟體來模擬。定義一個寄存器組,初始化為全"1"。依照電路圖,每輸入一個信息位,相當於一個時鍾脈沖到來,從高到低依次移位。移位前信息位與bit0相加產生臨時位,其中bit15移入臨時位,bit10、bit3還要加上臨時位。當全部信息位輸入完成後,從寄存器組取出它們的值,這就是CRC碼。
typedef unsigned char bit;
typedef unsigned char byte;
typedef unsigned short u16;
typedef union {
u16 val;
struct {
u16 bit0 : 1;
u16 bit1 : 1;
u16 bit2 : 1;
u16 bit3 : 1;
u16 bit4 : 1;
u16 bit5 : 1;
u16 bit6 : 1;
u16 bit7 : 1;
u16 bit8 : 1;
u16 bit9 : 1;
u16 bit10 : 1;
u16 bit11 : 1;
u16 bit12 : 1;
u16 bit13 : 1;
u16 bit14 : 1;
u16 bit15 : 1;
} bits;
} CRCREGS;
// 寄存器組
CRCREGS regs;
// 初始化CRC寄存器組:移位寄存器置為全"1"
void crcInitRegisters()
{
regs.val = 0xffff;
}
// CRC輸入一個bit
void crcInputBit(bit in)
{
bit a;
a = regs.bits.bit0 ^ in;
regs.bits.bit0 = regs.bits.bit1;
regs.bits.bit1 = regs.bits.bit2;
regs.bits.bit2 = regs.bits.bit3;
regs.bits.bit3 = regs.bits.bit4 ^ a;
regs.bits.bit4 = regs.bits.bit5;
regs.bits.bit5 = regs.bits.bit6;
regs.bits.bit6 = regs.bits.bit7;
regs.bits.bit7 = regs.bits.bit8;
regs.bits.bit8 = regs.bits.bit9;
regs.bits.bit9 = regs.bits.bit10;
regs.bits.bit10 = regs.bits.bit11 ^ a;
regs.bits.bit11 = regs.bits.bit12;
regs.bits.bit12 = regs.bits.bit13;
regs.bits.bit13 = regs.bits.bit14;
regs.bits.bit14 = regs.bits.bit15;
regs.bits.bit15 = a;
}
// 輸出CRC碼(寄存器組的值)
u16 crcGetRegisters()
{
return regs.val;
}
crcInputBit中一步一步的移位/異或操作,可以進行簡化:
void crcInputBit(bit in)
{
bit a;
a = regs.bits.bit0 ^ in;
regs.val >>= 1;
if(a) regs.val ^= 0x8408;
}
細心的話,可以發現0x8408和0x1021(CRC-ITU的簡記式)之間的關系。由於我們是從低到高輸出比特流的,將0x1021左右反轉就得到0x8408。將生成多項式寫成 G(x)=1+x5+x12+x16,是不是更好看一點?
下面是一個典型的PPP幀。最後兩個位元組稱為FCS(Frame Check Sequence),是前面11個位元組的CRC。
FF 03 C0 21 04 03 00 07 0D 03 06 D0 3A
我們來計算這個PPP幀的CRC,並驗證它。
byte ppp[13] = {0xFF, 0x03, 0xC0, 0x21, 0x04, 0x03, 0x00, 0x07, 0x0D, 0x03, 0x06, 0x00, 0x00};
int i,j;
u16 result;
/////////// 以下計算FCS
// 初始化
crcInitRegisters();
// 逐位輸入,每個位元組低位在先,不包括兩個FCS位元組
for(i = 0; i < 11; i++)
{
for(j = 0; j < 8; j++)
{
crcInputBit((ppp[i] >> j) & 1);
}
}
// 得到CRC:將寄存器組的值求反
result = ~crcGetRegisters();
// 填寫FCS,先低後高
ppp[11] = result & 0xff;
ppp[12] = (result >> 8) & 0xff;
/////////// 以下驗證FCS
// 初始化
crcInitRegisters();
// 逐位輸入,每個位元組低位在先,包括兩個FCS位元組
for(i = 0; i < 13; i++)
{
for(j = 0; j < 8; j++)
{
crcInputBit((ppp[i] >> j) & 1);
}
}
// 得到驗證結果
result = crcGetRegisters();
可以看到,計算出的CRC等於0x3AD0,與原來的FCS相同。驗證結果等於0。初始化為全"1",以及將寄存器組的值求反得到CRC,都是CRC-ITU的要求。事實上,不管初始化為全"1"還是全"0",計算CRC取反還是不取反,得到的驗證結果都是0。
4 位元組型演算法
比特型演算法逐位進行運算,效率比較低,不適用於高速通信的場合。數字通信系統(各種通信標准)一般是對一幀數據進行CRC校驗,而位元組是幀的基本單位。最常用的是一種按位元組查表的快速演算法。該演算法基於這樣一個事實:計算本位元組後的CRC碼,等於上一位元組余式CRC碼的低8位左移8位,加上上一位元組CRC右移8位和本位元組之和後所求得的CRC碼。如果我們把8位二進制序列數的CRC(共256個)全部計算出來,放在一個表裡 ,編碼時只要從表中查找對應的值進行處理即可。
CRC-ITU的計算演算法如下:
a.寄存器組初始化為全"1"(0xFFFF)。
b.寄存器組向右移動一個位元組。
c.剛移出的那個位元組與數據位元組進行異或運算,得出一個指向值表的索引。
d.索引所指的表值與寄存器組做異或運算。
f.數據指針加1,如果數據沒有全部處理完,則重復步驟b。
g.寄存器組取反,得到CRC,附加在數據之後。
CRC-ITU的驗證演算法如下:
a.寄存器組初始化為全"1"(0xFFFF)。
b.寄存器組向右移動一個位元組。
c.剛移出的那個位元組與數據位元組進行異或運算,得出一個指向值表的索引。
d.索引所指的表值與寄存器組做異或運算。
e.數據指針加1,如果數據沒有全部處理完,則重復步驟b (數據包括CRC的兩個位元組)。
f.寄存器組的值是否等於「Magic Value」(0xF0B8),若相等則通過,否則失敗。
下面是通用的CRC-ITU查找表以及計算和驗證CRC的C語言程序:
// CRC-ITU查找表
const u16 crctab16[] =
{
0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,
0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,
0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,
0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,
0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,
0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,
0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,
0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,
0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,
0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,
0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,
0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,
0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,
0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,
0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,
0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,
0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,
0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,
0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,
0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,
0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,
0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78,
};
// 計算給定長度數據的16位CRC。
u16 GetCrc16(const byte* pData, int nLength)
{
u16 fcs = 0xffff; // 初始化
while(nLength>0)
{
fcs = (fcs >> 8) ^ crctab16[(fcs ^ *pData) & 0xff];
nLength--;
pData++;
}
return ~fcs; // 取反
}
// 檢查給定長度數據的16位CRC是否正確。
bool IsCrc16Good(const byte* pData, int nLength)
{
u16 fcs = 0xffff; // 初始化
while(nLength>0)
{
fcs = (fcs >> 8) ^ crctab16[(fcs ^ *pData) & 0xff];
nLength--;
pData++;
}
return (fcs == 0xf0b8); // 0xf0b8是CRC-ITU的"Magic Value"
}
使用位元組型演算法,前面出現的PPP幀FCS計算和驗證過程,可用下面的程序片斷實現:
byte ppp[13] = {0xFF, 0x03, 0xC0, 0x21, 0x04, 0x03, 0x00, 0x07, 0x0D, 0x03, 0x06, 0x00, 0x00};
u16 result;
// 計算CRC
result = GetCrc16(ppp, 11);
// 填寫FCS,先低後高
ppp[11] = result & 0xff;
ppp[12] = (result >> 8) & 0xff;
// 驗證FCS
if(IsCrc16Good(ppp, 13))
{
... ...
}
該例中數據長度為11,說明CRC計算並不要求數據2位元組或4位元組對齊。
至於查找表的生成演算法,以及CRC-32等其它CRC的演算法,可參考RFC 1661, RFC 3309等文檔。需要注意的是,雖然CRC演算法的本質是一樣的,但不同的協議、標准所規定的初始化、移位次序、驗證方法等可能有所差別。
結語
CRC是現代通信領域的重要技術之一。掌握CRC的演算法與實現方法,在通信系統的設計、通信協議的分析以及軟體保護等諸多方面,能發揮很大的作用。如在作者曾經設計的一個多串口數據傳輸系統中,每串口速率為460kbps,不加校驗時誤碼率大於10-6,加上簡單的奇偶校驗後性能改善不很明顯,利用CRC進行檢錯重傳,誤碼率降低至10-15以下,滿足了實際應用的要求。