初識計算機

2021-09-23 15:46:03 字數 1963 閱讀 8587

要我在技術性部落格上寫些東西真的很有挑戰性。我也研究了蠻久的實驗,不過因為水平有限,很多技術方面的見解我都沒有,甚至連乙個有價值的問題都提不出來,基於這種情況,可能我寫的內容心得體會佔據的篇幅會比較多,希望能給和我一樣初入門的新手一些鼓勵和經驗。

準確來說,我進入計算機領域也就3個月時間。這3個月我零零碎碎學了不少新東西,從剛開始看**一臉茫然到現在有了一知半解,進步是很明顯的,當然背後的曲折也是令人記憶猶新。

還記得上的第一節課就是深入理解計算機系統,當時我們上課用的ppt是全英文的,這讓我有點激動,一瞬間覺得很高大上,與國際接軌,但接下來卻是連著兩節課一臉懵逼。從那時起,計算機領域給我的感覺就是水很深,我要走的路還很遠。有了這樣的認識,我即刻開始了我的求知路,以致於我的生活大部分時間都在追趕,變得有點亂糟糟。這樣的生活狀態持續了最初的乙個月,在我補完一些基礎知識後,我上課開始能跟得上了,生活節奏才放緩下來。不得不說,高壓的學習狀態是很辛苦的,從早到晚也讓我有了回到高三的感覺,大學的學習也是不輕鬆的,我開始有了這樣的見解。

之後吧,知識不斷積累,我開始也有了一些自己的見解,也開始看得懂一些實驗。相比之下,資料結構課程涉及到的一些實驗我更容易理解。我們做了線性表、佇列、堆串、二叉樹、圖等相關方面的實驗,從中我對**的理解也不斷加深。比如,我開始知道陣列不能直接賦值、必須通過遍歷來賦值,陣列的首位址就是它第乙個元素的位址等等。而在計算機系統這門課程中,我更多的是對計算機底層的一些了解。就像剛開始我不知道機器當中只有01序列,我總認為長長的**就是實現我們目標的直接途徑,卻不曾想還要經歷編譯、彙編等過程。當然我也遇到了許多難以理解的瓶頸。比如,show-bytes,我總是無法像看懂資料結構實驗那樣看懂這個實驗,很多的字元我都沒有見過,即便在老師的指引下我知道它想要執行的操作,卻還是沒有辦法將每一句**對應到它所幹的事上去,只能簡單的依據結果判斷大端還是小端存放。另乙個難點就是彙編,彙編的一些指令,暫存器的定址方式都是一些重難點。接下來我會借助一些**來具體講講我的困惑。

這是一段由機器**翻譯回c語言產生的結果,我們需要判斷的是,y/m對應的由下列**所確定的m值是多少。

int  t= x;

x-=t;

if(y<0) y+=7;

y>>=3;

return x+y;

從**入手,我發現y的除法運算是通過移位運算來實現的,左移3位,那麼表示m=8,但是令我不解的是在這之前y+=7是個什麼意思。7不是2的整數倍,應該怎麼也扯不上關係才對,怎麼糊里糊塗出來乙個這樣的式子。我苦思冥想了好久,直到後來在慕課上面聽了南京大學袁春風老師的課,才知道除法運算在被除數是負數的時候,為了避免出現誤差,需要加上乙個偏移量,即2^k-1。

再說說有關浮點數的問題,首先是浮點數的表示方法。以ieee的32位表示法為例,分為規格化和非規格化兩種方式。兩種方式相同的是,第一位為符號位,緊接8位為階碼,後23位為尾數。不同的是,非規格化的階碼域全為0,得益於此,它就可以表示一些特殊值,例如+∞、-∞和「nan」。所以,一些我們生活中難以實現的運算計算機就可以實現。例如∞-∞=nan。有了這些知識的積澱,我應該算是蠻了解浮點蘇了吧,不過接下來我又遇到難題了。3.0/2=3/2?不過是吧3.0換成3而已,等式應該還是成立的啊,結果卻令我大吃一驚,甚至感覺十幾年的數學白學了。原來,浮點數表示的精度範圍和整型不一樣,對於3.0/2機器結果是1.1,而3/2機器運算結果確是1,1≠1.1,等式自然不成立。

諸如此類的問題還有很多,每當我認為自己應該掌握了一些知識,可實際解決問題時卻發現我還有很多盲區。漸漸的我明白了,計算機的知識,是龐大而又細微的,量很多然而東西卻很細節的,需要在理解的基礎上加以不斷實踐。就拿我自己的經歷來說,這幾個月我覺得資料結構上機實驗對我的學習幫助最大,通過寫一些標頭檔案,函式,型別定義,我能更好的理解**的執行過程。所以說,我們這些碼農根本的還是要多敲**,本科階段要想合格更是要敲上十萬**。

學習的路還在不斷繼續,我相信不久的將來,我一定能看懂技術大牛們的實驗**,自己也能夠寫一些這樣的技術性話語,成為一名頂尖的科技人才。也希望入門的新手們,要敢於正視自己的不足,沒有人一開始就是大牛,也沒有說計算機就是智商高的人搞得東西,只要努力就會改變知識的現狀。

初識計算機

1 什麼是計算機 接受使用者輸入的命令與資料,經由 處理器的算術與邏輯單元運算處理之後,產生或儲存成有用的資訊。2 電腦硬體的五大單元 輸入單元 輸出單元 cpu內部的控制單元 算術邏輯單元 記憶體。cpu內部的控制單元 算術邏輯單元 記憶體 系統單元 主機部分 3 cpu cpu 處理器 為乙個具...

計算機初識

什麼是計算機網路 實現計算機資料的傳輸 組成網路的的組成部分 1 終端系統 pc 移動裝置 server c s 小型機 大型機 ap access point 2 中間系統 集線器 hub 交換機 switch 路由器 router 防火牆 訪問控制 3 傳輸介質 有線介質 雙絞線 光纖 無線介質...

計算機初識

什麼是計算機?為何要有計算機?模仿遊戲 計算機誕生的目的就是為了取代人力 說到底,計算機就是人類的奴隸 銀行行長 櫃檯人員 接收使用者輸入的賬號 接收使用者輸入的密碼 判斷 輸入的賬號 等於 正確的賬號 並且 輸入的密碼 等於 正確的密碼 告訴使用者登入成功 否則 告訴使用者登入失敗 程式設計師 計...