資料在計算機記憶體中的儲存

2021-08-15 20:29:09 字數 1238 閱讀 1043

要想學習程式設計,就必須了解二進位制,它是計算機處理資料的基礎。

記憶體條是乙個非常精密的部件,包含了上億個電子元器件,它們很小,達到了奈米級別。這些元器件,實際上就是電路;電路的電壓會變化,要麼是 0v,要麼是 5v,只有這兩種電壓。5v 是通電,用1來表示,0v 是斷電,用0來表示。所以,乙個元器件有2種狀態,0 或者 1。

我們通過電路來控制這些元器件的通斷電,會得到很多0、1的組合。例如,8個元器件有 28=256 種不同的組合,16個元器件有 216=65536 種不同的組合。雖然乙個元器件只能表示2個數值,但是多個結合起來就可以表示很多數值了。

我們可以給每一種組合賦予特定的含義,例如,可以分別用 1101000、00011100、11111111、00000000、01010101、10101010 來表示 c、語、言、中、文、網 這幾個字,那麼結合起來 1101000 00011100 11111111 00000000 01010101 10101010 就表示」c語言中文網「。

一般情況下我們不乙個乙個的使用元器件,而是將8個元器件看做乙個單位,即使表示很小的數,例如 1,也需要8個,也就是 00000001。

1個元器件稱為1位元(bit)或1位,8個元器件稱為1位元組(byte),那麼16個元器件就是2byte,32個就是4byte,以此類推:

現在,你知道1gb的記憶體有多少個元器件了吧。我們通常所說的檔案大小是多少 kb、多少 mb,就是這個意思。

單位換算:

我們平時使用計算機時,通常只會設計到 kb、mb、gb、tb 這幾個單位,pb 和 eb 這兩個高階單位一般在大資料處理過程中才會用到。

你看,在記憶體中沒有abc這樣的字元,也沒有gif、jpg這樣的,只有0和1兩個數字,計算機也只認識0和1。所以,計算機使用二進位制,而不是我們熟悉的十進位制,寫入記憶體中的資料,都會被轉換成0和1的組合。

我們將在《c語言除錯》中的《檢視、修改執行時的記憶體》一節教大家如何操作c語言程式的記憶體。

為了加深印象,最後給大家看個笑話。

程式設計師a:「哥們兒,最近手頭緊,借點錢?」

程式設計師b:「成啊,要多少?」

程式設計師a:「一千行不?」

程式設計師b:「咱倆誰跟誰!給你湊個整,1024,拿去吧。」

你看懂這個笑話了嗎?請選出正確答案。

a) 因為他同情程式設計師a,多給他24塊

b) 這個程式設計師不會數數,可能是太窮餓暈了

c) 這個程式設計師故意的,因為他**的老婆規定1024是整數

d) 就像100是10的整數次方一樣,1024是2的整數次方,對於程式設計師就是整數

計算機記憶體

1.1 計算機硬體記憶體架構。計算機cpu central processing unit 和記憶體的互動是最頻繁的,記憶體是我們的快取記憶體區。使用者磁碟和cpu的互動,而cpu運轉速度越來越快,磁碟遠遠跟不上cpu的讀寫速度,才設計了記憶體,使用者快取使用者io等待導致cpu的等待成本。但是隨著...

整型與浮點型資料在計算機記憶體中的儲存

1 型別的歸類 整型家族 char unsigned char signed char 對於char來說,標準裡並不預設其為有符號還是無符號的,這個結果取決於編譯器 short signed short int unsigned short int int signed int unsigned i...

計算機記憶體中的分割槽

c語言中乙個簡單的指標練習題 include void main void copy string char from,char to to 0 功能是將字串a拷貝到字串b中去。編譯鏈結都ok,執行報錯。提示非法訪問。下面直接貼內容 在c 中,記憶體分成5個區,他們分別是堆 棧 自由儲存區 全域性 ...