C語言學習筆記 資料型別深入了解

2021-09-07 04:59:21 字數 1493 閱讀 5295

#includevoid main()

可以看見linux c32位機中:

先分是無符號型別還是有符號(預設為有符號)再看所用型別占用記憶體幾個位元組,轉換成對應位數(多少位二進位制),然後對應資料對應的最大值則為(無符號)2的對應位數次方-1 或者 (有符號)2的對應位數次方除以2再-1.
例如:char 型別:有符號:首先,char 型別佔1個位元組也就是8位 ,則 2^8 = 256,又因為是有符號的型別,所以要對半分,即正負數各佔一半,所以char型別的最大資料大小為 2^8 除以2 -1(即256/2-1 = 127)

無符號:首先,unsigned char型別佔1個位元組也就是8位 , 著2^8 =256,又因為是無符號的型別,所以最小為0,最大資料大小為2^8-1(即255)

例如:首先將310轉化為二進位制數 --> 1 0011 0110又因為乙個位址空間最大存放為八位 所以資料的最高位1溢位了 即 1 0011 0110得到的0011 0110 為54(十進位制)所以溢位後顯示的數值為54

首先要知道乙個位址空間,最大存放8位資料,並且 char 型別佔乙個位元組,也就是8位

首先將210轉化為二進位制數 --> 1101 0010

因為預設為有符號型別最高位為符號位符號位為1,則表示為負數,負數在記憶體空間以補碼形式儲存。所以要求其補碼

1101 0010 (原碼) --> 1010 1101 (取反後得到反碼) -->1010 1110 (反碼+1,得到補碼) , 於此同時,1010 1110為-46(十進位制),所以溢位後,將a列印出來的數值為-46

大小端序主要影響的是不同計算機間的資料傳輸,同一臺電腦內的資料傳輸沒有影響

C語言學習筆記 資料型別

c中型別可分為以下幾種 序號型別與描述 1基本型別 它們是算術型別,包括兩種型別 整數型別和浮點型別。2列舉型別 它們也是算術型別,被用來定義在程式中只能賦予其一定的離散整數值的變數。3void型別 型別說明符void表明沒有可用的值。4派生型別 它們包括 指標型別 陣列型別 結構型別 共用體型別和...

C 學習筆記 資料型別

c 有六種資料型別 bool char wchar t int float和double型。1.bool 布林型 bool型表示兩個邏輯值1或0,如 bool a a true true表示1,false表示0.2.char 字元型 char型變數佔乙個位元組 8位 所以乙個字元型變數可表示0 25...

C 學習筆記 資料型別

每天花點時間,重新拾起c 記錄一些學習筆記,內容根據自己理解逐步更新。1.指標 我們最熟悉的,乙個位元組由8位構成,乙個字由32位構成,這是針對32位作業系統,其實字的大小是依賴於機器的,c 基本資料型別,int short long float double long double長度都是以字為單...