C 基本資料型別及其表示範圍

2021-07-25 09:36:06 字數 1835 閱讀 8937

原文:

1. 長度

型別名型別位元組

表示範圍

char

字元型1

-128 ~127

unsigned char

無符號字元型

10 ~255

signed char

有符號字元型(與字元型相同)

1-128 ~127

int整型

*與機器有關

unsigned int

無符號整型

*與機器有關

signed int

有符號整型(與整型相同)

*與機器有關

short int

短整型2

-32,768~ 32,767

unsigned short int

無符號短整型

20~65,535

signed short int

有符號短整型(與短整型相同)

2-32,768~ 32,767

long int

長整型4

-2,147,483,648 ~2,147,483,647

signed long int

有符號長整型(與長整型相同)

4-2,147,483,648 ~ 2,147,483,647

unsigned long int

無符號長整型

40~4,294,967,295

float

浮點型4

3.4e +/- 38 (7位有效數字)

double

雙精度型

81.7e +/- 308 (15位有效數字)

long double

長雙精度型

101.2e +/- 4932 (19位有效數字)

注:unsigned和signed只用於修飾char和int,且signed修飾詞可以省略。當用unsigned修飾詞時,後面的型別說明符可以省略。例如:

signed int n; //與"int n;"等價

signed char ch; //與"char ch;"等價

unsigned int n; //與"unsigned n;"等價

unsigned char ch; //與"unsigned ch;"等價

short只用於修飾int,且用short修飾時,int可以省略,即:

short int n; //與"short n;"等價

long只能修飾int和double。當用long修飾int時,int可以省略,即:

long int n; //與"long n;"等價

int和unsigned int型別占用乙個機器乙個字(word)的位元組。在16位作業系統上,它們占用2個位元組;在32位作業系統上,它們占用4個位元組;64位系統,佔8個位元組。

2. 精度

如果乙個雙目運算子兩邊的運算元型別不同,先要將它們轉換為相同的型別,即較低型別轉換為較高型別,然後再參加運算。所謂型別的高低,跟所佔的儲存空間大小有直接關係,所佔儲存空間越大的型別,級別越高。

圖中橫向的箭頭表示必須的轉換,如兩個float型數參加運算,雖然它們型別相同,但仍要先轉換成double型再進行運算,結果亦為double型。縱向箭頭表示當運算子兩邊的運算元為不同型別時的轉換,如乙個long型資料與乙個int型資料一起運算,需要先將int型資料轉換為long型,然後兩者再進行運算,結果為long型。所有這些轉換都是由系統自動進行的,使用時只需了解結果的型別即可。

C 基本資料型別大小及表示範圍

ansi c c 基本資料型別 type size 數值範圍 無值型void 0 byte 無值域布林型 bool 1 byte true false 有符號短整型 short int signed short int 2 byte 32768 32767 無符號短整型 unsigned short...

C 基本資料型別大小及表示範圍

ansi c c 基本資料型別 type size 數值範圍 無值型void 0 byte 無值域布林型 bool 1 byte true false 有符號短整型 short int signed short int 2 byte 32768 32767 無符號短整型 unsigned short...

C語言中資料型別的表示範圍

問題 sizeof int 2,int的表示範圍為什麼是 2 15 2 15 1?答 對於有符號數,最高位為符號位。二進位制原碼最大值為0111111111111111 2 15 1,最小值為 1111111111111111 2 15 1 而0分為 0和 0,即0000000000000000和 ...