資料在記憶體中的儲存

2021-09-10 07:58:21 字數 1215 閱讀 1364

基本的資料型別

整型,浮點型,聚合型別,指標

整型型別

所佔位元組

取值範圍

char

10~127(2^8)

short

2int

4long

8浮點型型別

所佔位元組

取值範圍

float

4double

8指標

空指標void* 指標

指標所佔位元組的大小與機器有關

原碼 反碼 補碼

計算機中的符號數有三種表示方法,即原碼、反碼和補碼。三種表示方法均有符號位和數值位兩部分,符號

位都是用0表示「正」,用1表示「負」,而數值位,三種表示方法各不相同。

原碼 直接將二進位制按照正負數的形式翻譯成二進位制就可以。

反碼 將原碼的符號位不變,其他位依次按位取反就可以得到了。

補碼 反碼+1就得到補碼。 正數的原、反、補碼都相同。

對於整形來說:資料存放記憶體中其實存放的是補碼

大小端位元組序

大端(儲存)模式,是指資料的低位儲存在記憶體的高位址中,而資料的高位,儲存在記憶體的低位址中;

小端(儲存)模式,是指資料的低位儲存在記憶體的低位址中,而資料的高位,,儲存在記憶體的高位址中。

為什麼有大端和小端:

為什麼會有大小端模式之分呢?這是因為在計算機系統中,我們是以位元組為單位的,每個位址單元都對應著

乙個位元組,乙個位元組為8bit。但是在c語言中除了8bit的char之外,還有16bit的short型,32bit的long型(要

看具體的編譯器),另外,對於位數大於8位的處理器,例如16位或者32位的處理器,由於暫存器寬度大於

乙個位元組,那麼必然存在著乙個如果將多個位元組安排的問題。因此就導致了大端儲存模式和小端儲存模式。

常用的x86結構是小端模式,而keil c51則為大端模式。很多的arm,dsp都為小端模式。

有些arm處理器還可以由硬體來選擇是大端模式還是小端模式。

看的舒服的大端位元組序

檢視自己機器的位元組序的**

int islittleend() 

return -1;

}

資料在記憶體中的儲存

身為乙個天天處理資料的人,不得不說資料在記憶體中的儲存是必須要知道的問題。首先,資料在記憶體中的儲存涉及到作用域,儲存位置等方面的問題。根據資料的作用域,可將資料劃分為區域性變數和全域性變數 區域性變數的作用域為從定義開始到函式執行結束 全域性變數的作用域從程式開始到程式結束。計算機的記憶體分配可以...

資料在記憶體中的儲存

大端,把乙個數字高位位元組序的內容儲存到低位址,低位位元組序內容儲存到高位址處 小端,把乙個數字高位位元組序的內容儲存到高位址,低位位元組序內容儲存到低位址處 判斷乙個機器是大端還是小端?指標判斷 int checksys 聯合體 共用體 union un int main 這裡首先需要知道的是,例...

資料在記憶體中的儲存

我們都知道在計算機中資料型別都有 char 1 short 2 int 4 long 4 8 float 4 double 8 等內建型別,以及他們所佔的空間大小。型別的意義 1.使用這個型別開闢記憶體空間的大小 大小決定使用範圍 2.如何看待記憶體空間的視角。型別歸類 整形家族 char unsi...