c語言int最大值是多少,C語言int型別最大值是多少?

時間 2022-01-05 06:45:04

1樓:鹿寶懷挺

當無符號0以二進位制儲存在記憶體中的時候,每一位都為0,以32位int為例,(unsigned int)0的二進位制為:

按位取反(~)後,變成:

此時的十進位制為:

除以2(因為int型別中有一半表示負數且比正數多一個)之後為:

即為32位int型別最大值。

c語言中最大的整型資料型別是long型別,佔4個位元組

c中短整型和整型均佔2個位元組,取值範圍是 -32768 ~~~ 32767

長整型佔4個位元組,取值範圍是 -2147483648 ~~~~ 2147483647

如果是無符號數的話,可以表示的資料就是

短整型和 整型:  0--- 65535

長整型:             0---4294967295

在c語言中如果一個數很大的話,超過最大的長整型,可以使用double來儲存,這樣不會影響運算精度。

2樓:門謹拱醉香

int最大值,根據編譯器型別不同而變化。

1對於16位編譯器,int佔16位(2位元組)。

int的最大值為32767.

2對於32位和64位編譯器,int佔32位(4位元組)。

int的最大值為2147483647

3可以通過列印sizeof(int)檢視平臺對應的int佔用位元組數。乘8後即為位數。

最高位為符號位,如位數為n,則最大值為

2^(n-1)

即2的n-1次冪。

c語言 int最大值是多少??

3樓:幻翼高達

c語言中,int最大值是2147483647。

c語言中,int、long int 、unsigend long int都是4個位元組,其可以用sizeof()函式得出。佔用4個位元組的整數其最大能表示數的個數是2^32(4個位元組共32位)。

int、long int都是帶符號整數型別,因此它們能表示的整數範圍為-2147483648~2147483647,也就是-2^31~2^31-1。unsigend long int是無符號整數型別,能表示的整數範圍是0~4294967295,即0~2^32-1。

同理,short int是2個位元組的帶符號整數型別,能表示的整數範圍是0~65535,即0~2^16-1。

4樓:大野瘦子

int最大值,根據編譯器型別不同而變化,具體如下:

1、對於16位編譯器,int佔16位(2位元組)。

int的最大值為32767.

2、對於32位和64位編譯器,int佔32位(4位元組)。

int的最大值為2147483647

3、可以通過列印sizeof(int)檢視平臺對應的int佔用位元組數,乘8後即為位數。

最高位為符號位,如位數為n,則最大值為

2^(n-1)

即2的n-1次冪。

得的c語言中int最大值與最小值的方法

方法1:

printf("%d\n",~(unsigned int)0/2);

當無符號0以二進位制儲存在記憶體中時,每一位都為0,以32位int為例,0(unsigned int)的二進位制為:

00000000 00000000 00000000 00000000

按位取反(~)後變成:

11111111 11111111 11111111 11111111

此時的十進位制為:

4294967295

除以2(int型別中有一半表示負數,且比正數多一個),得到:

即為32位int型最大值

方法2:

#include

int main()

int i=0,j=1;

while (j>0)

j++;

i++;

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

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

return 0;

整數值越界後符號改變

方法3:

#include

int main()

int i=0;

i=~i;

i=i<<(sizeof(int)*8-1);

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

i--;

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

return 0;

計算機採用補碼儲存,先補碼得到-1(即各位全為1),然後利用移位運算得到最小,進而得到最大。

5樓:小周愛嘮叨

16位編譯器說明:

int佔16位。

記憶體2位元組。

最大值:32767

這也是最原始版本的要求。

32位和64位編譯器:

int佔32位。

記憶體4位元組。

最大值:21474836473

位數的增加,那麼自然位數也在倍增。

決定int最大值的主要原因,根據編譯器型別不同而變化。

所以某些編寫的程式,不能成功的在電腦中執行,多半與編譯器有關係,可能並不是程式的原因。

一般程式的表達方式,最高位為符號位,位數為n位時,則最大值為2^(n-1)即2的n-1次冪。

關於演算法的問題,自然也要使用我們所學習的數學知識。

在編譯器中,可以使用sizeof(int)檢視佔用的位元組數,將求取的數值通過pintf列印在控制檯。

6樓:風若遠去何人留

int最大值,根據編譯器型別不同而變化。

1 對於16位編譯器,int佔16位(2位元組)。

int的最大值為32767.

2 對於32位和64位編譯器,int佔32位(4位元組)。

int的最大值為2147483647

3 可以通過列印sizeof(int)檢視平臺對應的int佔用位元組數。乘8後即為位數。

最高位為符號位,如位數為n,則最大值為

2^(n-1)

即2的n-1次冪。

7樓:匿名使用者

這個和編譯器版本有關。

在16位編譯器下(很多經典書籍中使用的都是這個版本)int 是2個位元組,long是4個

在32位編譯器下(目前能夠正常使用的多數都是這類的)int 是4個位元組,long是4個

8樓:

bits/stdc++.h中有巨集int_max(這是c++的,但其實c的也是一樣的)

值為2^31-1,即2147483647

9樓:匿名使用者

是的,在32位機中就是這個結果。

10樓:匿名使用者

#include

#include

int main()

c語言int型別最大值是多少?

11樓:小周愛嘮叨

16位編譯器說明:

int佔16位。

記憶體2位元組。

最大值:32767

這也是最原始版本的要求。

32位和64位編譯器:

int佔32位。

記憶體4位元組。

最大值:21474836473

位數的增加,那麼自然位數也在倍增。

決定int最大值的主要原因,根據編譯器型別不同而變化。

所以某些編寫的程式,不能成功的在電腦中執行,多半與編譯器有關係,可能並不是程式的原因。

一般程式的表達方式,最高位為符號位,位數為n位時,則最大值為2^(n-1)即2的n-1次冪。

關於演算法的問題,自然也要使用我們所學習的數學知識。

在編譯器中,可以使用sizeof(int)檢視佔用的位元組數,將求取的數值通過pintf列印在控制檯。

12樓:

k&r的c程式設計說了int的大小與機器有關。

#include

#include

int main(void)

可以驗證最大int.

如何得到c語言中int最大值

13樓:風若遠去何人留

(unsigned)(~0) >> 1

這樣就可以得到最大值了。

原理就是得到一個最高位為0,其他位為1 的整型值。

14樓:生活需要走位

#include

#include // 用這個庫

int main()

j**a中int型最大值是多少

15樓:墨冷秋

int max=2147483647

int min=-2147483648

**片段:

byte bmax, bmin;

short shmax, shmin;

char cmax, cmin;

int imax, imin;

long lmax,lmin;

float fmax,fmin;

double dmax,dmin;

fmax = float.max_value;

fmin = float.min_value;

dmax = double.max_value;

dmin = double.min_value;

bmax = byte.max_value;

bmin = byte.min_value;

cmax = character.max_value;

cmin = character.min_value;

shmax = short.max_value;

shmin = short.min_value;

imax = integer.max_value;

imin = integer.min_value;

lmax = long.max_value;

lmin = long.min_value;

system.out.println("float max="+fmax);

system.out.println("float min="+fmin);

system.out.println("double max="+dmax);

system.out.println("double max="+dmin);

system.out.println("byte max="+bmax);

system.out.println("byte min="+bmin);

system.out.println("char max="+cmax);

system.out.println("char min="+cmin);

system.out.println("short max="+shmax);

system.out.println("short min="+shmin);

system.out.println("int max="+imax);

system.out.println("int min="+imin);

system.out.println("long max="+lmax);

system.out.println("long min="+lmin);

輸出:float max=3.4028235e38

float min=1.4e-45

double max=1.7976931348623157e308

double max=4.9e-324

byte max=127

byte min=-128

char max=?

char min=

short max=32767

short min=-32768

int max=2147483647

int min=-2147483648

long max=9223372036854775807

long min=-9223372036854775808

說明:實際上是每種型別的container類定義的常量。

C語言題,求最大值?哪裡出錯了,C語言求最大值和最小值,幫我看一下哪裡有錯誤,謝謝!

你的輸入錯了,中間不要有,號 如圖就可以了 你的 可謂是邏輯混亂,中括號都不打,其他的我也看不下去了。我給你正確的 include main else else else printf d p if。和else如果不打中括號,只會執行if或者else後面第一個條語句,後面的語句就不屬於if或者els...

c語言比較數字的最大值,C語言比較2個數字的最大值

加百列 一 實現效果的確是相同的,不同就定義max方法,通過函式max 來進行比較操作,定義函式的好處就是同樣的功能方便多次呼叫。即 a事件把 比較 函式寫在了自己的函式體內 b事件呼叫了 比較 的函式。在實際應用中,假設十個事件都需要 比較 功能,此時 a的做法就是將函式體重複寫十遍,而b做法只是...

跪求C語言輸入數字,求最大值的程式

include void main int temp a i a i a index a index temp printf 第3個最大值 d a 2 用選擇排序把陣列a,從大到小排序。輸出第3個最大值,就是a 2 有問題hi我 用氣泡排序實現升序的過程,只執行三次排查即可,第三大的數會排到倒數第3...