整型大小和范圍


#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>

 

int main()

{

//整型變量

  int a=10;

//短整型變量

  short b=20;

//長整型變量

  long c=30;

//長長整型變量

  long long d=40;

  printf("%d\n",a);

//%hd:占位符,表示輸出一個短整型數據

  printf("%hd\n",b);

//%ld:占位符,表示輸出一個長整型數據

  printf("%ld\n",c);

//%lld:占位符,表示輸出一個長長整型數據

  printf("%lld\n",d);

 

//sizeof:不是函數,所以不需要包含任何頭文件。計算數字類型在內存中占的字節(BYTE)的大小,返回值為size_t。1B=8bit

//size_t類型在32位操作系統下是unsigned int ,是一個無符號的整數

//格式:sizeof(數據類型);sizeof(變量名);sizeof 變量名

  unsigned int len=sizeof (int);

  printf ("%u\n",len);

 

//將sizeof(a)的運算結果作為printf輸出的一個選項

  printf("整型:%d\n",sizeof(a));//4=32bit

  printf("短整型:%d\n",sizeof(b));//2=16bit

  printf("長整型:%d\n",sizeof(c));//4=36bit

  printf("長長整型:%d\n",sizeof(d));//8=64bit

/*數據類型        占用空間

short          2字節

int            4字節  

long           window為4字節,linux為4字節(32位),8字節(64位)

long long                     8字節

*/

 

/*需要注意的是,整型數據在內存中占的字節與所選擇的操作系統有關

雖然C語言標准中沒有明確規定整型數據的長度,但long類型整數的長度

不能短於int類型,short類型整數長度不能長於int類型(short<=int<=long<long long) 

當一個小的數據類型賦值給一個大的數據類型,不會報錯,因為編譯器會自動轉化。(eg:比如定義一個int類型,接收一個short類型數據,不會報錯)

但當一個大的類型賦值給一個小的數據類型,那么就可能丟失高位

*/  

 return EXIT_SUCCESS;   

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM