關於計算機和變數

2021-07-24 07:39:29 字數 1220 閱讀 5818

計算機有三大件.cpu,記憶體,硬碟.有了這三大件,就是乙個小小的電腦,如果效能管夠,保持能源**不斷電的話.

cpu加記憶體也能組成一台計算機(把系統儲存在記憶體裡面,這樣更快).由於咱們是一般使用電腦,有時候會關機.由於

記憶體是易失性儲存原件,當斷電的時候記憶體的資料就會丟失,所以咱們一般的計算機使用者還是需要硬碟的.

三個原件中,概括的來看,cpu的執行速度最快了,記憶體其次,硬碟最慢.所以,咱們執行程式需要把程式從硬碟"拷貝"

到記憶體中,這樣程式的讀取速度會大大加快.拿英雄聯盟來舉例,比如它有20個g,當然不是一次把所有20個g的程式全部

"拷貝"進記憶體,你看咱們記憶體一般都是8個g,20個g記憶體就爆滿了.咱們注意到(這裡拿windows系統舉例),有乙個launch.exe

檔案,這個檔案差不多就是主程式的意思,然後其他的素材之類的東西,都是在後面執行遊戲的時候動態載入.

cpu是乙個非常聽話的原件.咱們程式就是由一條一條的指令組成的,指令告訴cpu,應該做什麼事情,怎麼做.然而,

cpu比較笨,只會讀懂二進位制的機器碼(010101之類的).咱們自然語言,是聽不懂的.比如,我說,關機,cpu不知道我在說啥.

如果我說0101010101(假如是關機**).計算機就立即關機了.如果我要cpu去做計算a+b,然後把a+b的值列印出來.

a+b是抽象的吧.硬碟和記憶體裡面都木有a和b的值吧.所以我們需要宣告(定義)乙個變數,變數儲存在哪呢.變數在用的

時候(執行到這一行的時候,比如int a;)會在記憶體中申請乙個"坑",來存放這個a.咱們是有數字和字母的吧.字母在c語言中

也是由數字定義的(只是型別不同.比如你強制轉換乙個char型別的字元'a'到int型別,你會得到乙個數字).型別不同,代表能在

坑中存放資料的型別不同,比如我是int型別的,那麼我就只能存放整形數字(存放的不是整形數字的話就會報錯,比如你輸入2.1

不會報錯,不報警告,你輸入a就會報錯)我是float型別的就可以存小數.

如果只有型別的話,cpu會找到咱們定義的有型別的變數嗎?顯然不能.所以咱們宣告變數的時候系統給那個分配的坑賦了

乙個cpu能找到的門牌號,這個門牌號就叫做位址.

double是雙精度浮點,float是單精度浮點.兩個都是浮點,double還精確一些,為什麼不全都定義成double呢.因為float只占用

4個位元組.然而double型別占用8個位元組.就占用來說,double的占用是float的兩倍.同樣功能的程式,大家肯定是希望記憶體占用越小

越好啦.

關於計算機

每當我們看到什麼人工智慧 資料分析 作業系統等等,總是會覺得,wahhho,計算機居然可以這麼神奇,居然可以完成這麼多工作。當然,我曾經也這麼以為,感覺很厲害,甚至可以自己學習。有時會很敬畏,甚至自己想想都會覺得可笑。可是如果仔細思考就會發現,計算機其實什麼也不會,他只是會簡單的0和1的與或非運算,...

關於學計算機

東學西學?學了一堆亂七八糟的東西,到頭來,很多東西掌握都是特別淺,也更加迷茫了,都不知道學什麼好了,也給人一種學什麼知識都特別的無力,不斷的懷疑自己,自己到底適不適合這個行業,能不能在這個行業混下去,沒有心情去想其他太多的事情,也強制自己不想其他的事情,集中精力去學知識,可是存在很多的問題,比如該學...

關於計算機學習

我認為計算機領域真正的學習應該是 部落格式 的,即遵循 遇到問題 查閱資料 弄懂問題 有成就感 總結記錄 早些時候我把這個叫做 需求驅動學習 在整個專案遷移結束之後,嘟嘟開始對遷移過程進行復盤,發現以下幾點需要搞明白 為啥多程序變數不能共享 為啥有gil在多執行緒就不好用了 為啥乙個非同步任務阻塞會...