基本的資料型別
整型,浮點型,聚合型別,指標
整型型別
所佔位元組
取值範圍
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...