03.05 一看就懂的int型數據分類

1、C語言數據分成3種類型,分別是int型、float型和char型,也就是整數、小數和字符,因為字符(char)最後的存儲還是以整型數,當然每一個字符所對應的整型數都是ASCII規定好的,使用的時候查詢即可,下面我們對整型數據(int)作進一步的詳細瞭解,這包括整型數的分類、每一種類型所佔用的計算機存儲空間是多大字節(bytes),及數據的取值範圍和數據的輸出打印所對應的轉化符(%d...)。

2、要想充分了解數據分類,那一定要學習和int數據有關的關鍵字(keyword):

2.1 signed 、unsigned通過這兩個關鍵字int型數據可以分成2大類:有符號整型數和無符號整型數。

signed如:-3、0、+3;

unsigned如:0、+3;

2.2 short、long、這兩個我們可以認為是數據分類的修飾詞,通過它們可以組合成下面的int數據類型

short int 、long int、 long long int我們可以理解為小型整數、中型整數、大型整數。如果把signed和unsigned和它們進行組合就會創造出最終下面的int型數據類型。

2.3 int型數的所有分類如下:

圖1有符號型int型數:signed short int 、signed int 、signed long int 、signed long long int ;

圖2無符號型int型數:unsigned short int 、unsigned int 、unsigned long int 、unsigned long long signed;


一看就懂的int型數據分類

圖1


2.4上面這張圖片把有符號型整型數的所有類別進行了羅列,並查詢了每一種數據佔有計算機的多少空間,當然這個數據是變化的,它和計算機本身最大位數有關。另一個就是我們平時在使用的時候經常是以簡寫的形式,比如下面

signed short int=short 如:signed short int x=-32768;等同於(short x=-32768;)

signed int=int 如:signed int x=-2147483648;等同於(int x=-2147483648;)

signed long int =long 如:signed long int x=2147483647;等同於(long x =2147483648;)

signed long long int=long long 如:signed long long int x=-9223372036854775808;等同於(long long x =-9223372036854775808;)

通過分析上面的數據類型可以發現所有有符號型整數,都可以去了關鍵字signed 和 int(除了 signed int)來進行簡寫。


一看就懂的int型數據分類

圖2

2.5 圖2展示的無符號int數的整理,通過比較和有符號型int數的區別就是:

2.5.1、無符號型int數表示的數值更大,但是沒有負數。

2.5.2、輸出或打印的格式轉換符不同

signed 型是:%d通過和(l)進行組合構成%ld、%lld;備註在這裡都是小寫字母。

unsigned型是:%u通過和(l)進行組合構成%lu、%llu;備註在這裡都是小寫字母

2.5.3、簡化書寫把關鍵字int去掉即可。

unsigned short int num; 等同於 unsigned short num;

unsigned int num ;等同於 unsigned num;

unsigned long int num ; 等同於 unsigned long num;

unsigned long long int num ; 等同於 unsigned long long num;

3、查詢數據類型佔用空間需要用到sizeof( )這個函數。使用的時候我們只需要把所要查詢的數據類型輸入到sizeof中的小括號裡即可,然後以十進制的格式打印出來。當然熟練掌握之後書寫成簡化的查詢更加效率。

例如:要想查詢 unsigned long long int 所佔用的存儲空間只需要如下寫:

<code>#include<stdio.h>
int main(void)
{
printf("%d字節\\n",sizeof(unsigned long long int));//等同於sizeof(unsigned long long )
getchar( );
return 0;
}/<stdio.h>/<code>


分享到:


相關文章: