c語言關於int和long型別的範圍

2021-05-23 13:17:30 字數 2617 閱讀 9999

1樓:一騎當後

編譯器不同,寬度是不

相同,分別如下:

16位編譯器:

int: 2個位元組

long: 4個位元組

long long: 8個位元組

unsigned long: 4個位元組

32位編譯器:

int: 2個位元組

long: 4個位元組

long long: 8個位元組

unsigned long: 4個位元組

64位編譯器:

int: 4個位元組

long: 8個位元組

long long: 8個位元組

unsigned long: 8個位元組

具體範圍,請看下圖:

2樓:文化廚子

在32位系統上int和long的取值範圍如下:

int取值範圍:-2147483648 ~ 2147483647long取值範圍:-2147483648 ~ 2147483647兩者的範圍是一樣的,但是上面範圍是vc6.

0中查到的取值範圍 ,c語言標準庫中limits.h標頭檔案中定義的取值範圍。使用者可以使用limits.

h標頭檔案中的int_min、int_max、long_min、long_max來檢視int或者long型別的取值範圍。

#include

#include

int main()

3樓:**jt笨蛋

^32位機器上 int型別 最小-2^7二進位制補碼10000000,最大2^7-1二進位制01111111

long型別最小-2^15二進位制補碼1000,0000,0000,0000,最大2^15-1二進位制0111,1111,1111,1111

c語言中int與long的區別

4樓:匿名使用者

早期的作業系統是16位系統,

int用二位元組表示,範圍是

內-32768~32767;

long用4位元組表示,範圍是-2147483648~2147483647。

後來發容展到32位作業系統,

int 用4位元組表示,與long相同。

目前的作業系統已發展到64位作業系統,但因程式編譯工藝的不同,兩者表現出不同的差別:

32位編譯系統:int佔四位元組,與long相同。

64位編譯系統:int佔四位元組,long佔8位元組,long資料範圍變為:-2^63~2^63-1

5樓:

早期的復c平臺是16位int系統,int用二字制

節表示,範圍是-32768~+32767;long是long int的簡bai寫,用du4位元組表示,範圍是-2147483648~+2147483647。顯然在zhi早期dao平臺下long能表示的整數範圍要比int大得多。而時下的平臺流行的是32位int系統,即4位元組系統,int與long在這樣的系統下已經沒有區別了,它們都是4位元組帶符號整數,表數範圍都是-2147483648~+2147483647。

6樓:匿名使用者

標準中規定int型必需16位或更高,long型必需32位,在以前16位機時這兩種資料就是一個16bit一個32bit,但進入x86時代後實際上兩者都是32位的,int型一般和

7樓:匿名使用者

long是4位元組,int是2位元組或4位元組,現在一般的int都是4位元組,除非一些比較老的編譯器中才是2位元組

8樓:杜撰的人

這還要看你用的是什麼樣的系統了

9樓:匿名使用者

資料範圍不一樣

int -2^31~2^31-1

long long -2^63~^63-1

10樓:麾村的小木匠

沒啥區別,六位數以上用long,

c語言int,long int,long long int變數可表示的值最大分別為多少?

11樓:匿名使用者

這個就得根據具體的編譯環境來看了,如果編譯系統將int定義為16位,那麼最大值就應該是2^16,依次類推,現在已經有將其定義為32位的了,這樣一來最大值元元超出了大家通常所認為的-32768~32767,而成了-9223372036854775808~9223372036854775808

12樓:

這種型別就是確定佔多少個位元組就行了。。比如int,現在一般都是4個位元組的,十六進位制最大就是0xffffffff,如果是有符號的話,那就是一半,最大為0x7fffffff,因為0算是正數(不太妥)這一邊的,其他型別也是如此。如果要十進位制的話,計算器轉一下就行了

13樓:匿名使用者

int值域 4位元組 - 2147 438 648~+ 2 147 438 647

long int 4位元組 - 2 147 438 648 ~ + 2 147 438 647

long long int 8 - 9 223 372 036 854 775 808 ~ + 9 223 372 036 854 775 807

14樓:匿名使用者

這個是和硬體相關的 不同機器不一樣的

關於c語言中的定義int型別的常量

可以這樣定義 但行尾必須加分號。不過你這樣定義的是變數 並不是常量 要定義常量可以寫為 const int a 0x12345678 或者直接用巨集定義 define const a 0x12345678 ps 巨集定義時無需加分號 int a 0x12345678 定義一個變數a 並賦值為0x12...

c語言如何將int型別轉換成字串

c語言copy將int型別轉換成字串參照以bai下 目前在一du般的電腦中,int佔用4位元組,32位元,資料範圍zhi為 2147483648 2147483647 2 31 2 31 1 在之前dao的微型機中,int佔用2位元組,16位元,資料範圍為 32768 32767 2 15 2 15...

在c語言中int和double怎麼轉換

1 開啟baivc軟體,新建一個空白的vc專案文du件 2 編寫轉換zhi程式,首dao先新增標頭檔案,在main主函式回中定義int型別變數答sum,count,再定義double型別變數todouble,並進行強制型別轉換,強制轉換的格式就是括號加要轉換的型別,最後使用printf列印結果 3 ...