怎麼樣用c語言表示出int最大值?

2025-07-15 22:45:16 字數 4167 閱讀 9222

1樓:幻想秘境

這樣算:一般來說int型 佔4位元組,1位元組=8bit 4位元組就是4*8bit=32bit

那麼int型最大能表示的數為2^32(2的32次方)=也就是:4294967296(這是無符號的int型能表示的最大數,而有符號的int型中還包含負數,所以表示最大值要砍掉一半,如下)

有符號int型:

有符號int型能表示最大數為:4294967296÷2-1=2147483647

如果要在程式中自動算出,可以這麼寫:pow(2,ziseof(int)*8)/2-1;

記得加上標頭檔案:#include

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

2樓:鹿寶懷挺

當無符號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來儲存,這樣不會影響運算精度。

3樓:門謹拱醉香

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最大值是多少??

4樓:幻翼高達

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^ long int是無符號整數型別,能表示的整數範圍是0~4294967295,即0~2^32-1。

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

5樓:大野瘦子

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",~(unsigned int)0/2);

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

按位取反(~)後變成:

此時的十進位為:

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

即為32位int型最大值。

方法2:#include

int main()

int i=0,j=1;

while (j>0)

j++;i++;

printf("%d",i);

printf("%d",j);

return 0;

整數值越界後符號改變。

方法3:#include

int main()

int i=0;

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

printf("%d",i);

i--;printf("%d",i);

return 0;

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

6樓:小周愛嘮叨

16位編譯器說明:

int佔16位。

記憶體2位元組。

最大值:32767

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

32位和64位編譯器:

int佔32位。

記憶體4位元組。

最大值:21474836473

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

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

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

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

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

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

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位機中就是這個結果。

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

10樓:

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

#include

#include

int main(void)

可以驗證最大int.

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

11樓:風若遠去何人留

(unsigned)(~0) >1

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

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

c語言int型別最大值

12樓:網友

c語言規範中並沒有規定int型到底用多少位,只是規定了不能小於16位。int的位元組數具體取決於具體的系統和編譯器,unix下int型一般都是32位的。

13樓:網友

0x00cbf95c是int變數a的位址,從記憶體檢視器可以看出,十進位數16被儲存為00 00 00 10

說明單個'0'儲存範圍為0-15,表示成二進位的話,乙個'0'儲存範圍相當於0000~1111,4個二進位位;

這裡有8個'0',相當於乙個int型是由4*8=32個二進位位來表示。

14樓:匿名使用者

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

#include

#include

int main(void)

可以驗證最大int.

15樓:網友

你可以用sizeof(int)看下是幾位,就知道是32,還是16了,也許是64.。。

c語言c語言使用printf函式列印出 int的最大值,最小值

16樓:fu法c克k油

列印int_max,int_min

這就是最大值和最小值。

但是要包含標頭檔案# include

我愛你怎麼用C語言表示,怎麼用c語言打一個心形,中間在寫上我愛你,求程式碼

呵 一樓不夠深情 應 while 1 puts i love you 愛情有時就是這樣,一旦愛了,就再也無法放手.include int main c語言編寫我愛你 include int main include int main void include include main include...

怎麼用c語言表達出A大於B小於C 表達C最大

a b a c 你可以 if c a a b c語言中,a小於b或c怎麼表達,a和b中有1個小於c?a小於b或c怎麼表達 a a和b中有1個小於c a a,b,c是變數名,不能加引號的。a小於b或c怎麼表達 a a 上面這個才是有一個小於c,如果是a 通過移位運算來判定整數的正負性。include ...

c語言怎麼樣編寫時鐘程式,c語言怎麼樣編寫一個時鐘程式

1 可以用usleep alarm setitimer之類的函式休眠,然後處理sigalrm訊號實現定時,這類函式介紹網上有很多,可以自己查一查 2 可以用for迴圈,只要你知道for迴圈執行多少時鐘週期,一個時鐘週期是1us,就可以計算for迴圈需要多久,這隻能用在單程序單執行緒環境 用c語言 編...