int的最大值是多少?65535還是2147483648,為什麼

時間 2022-02-11 20:45:17

1樓:匿名使用者

你用sizeof(int)看它佔了幾個位元組

32位機上,這個值是32,

2的32次方=4294967296(無符號),帶符號再除以2,負數比正數多一個,-2147483648~+2147483647

2樓:樹英潭恨蕊

unsigned

int是無符號整型

而int是有符號整型

在資料儲存當中,對於有符號整形的最後一位作為符號位,0表示正數1表示負數

對於負數的存放,計算機採用補碼的方式(正數是原始碼(其實正數的補碼就是原始碼))

負數補碼也就是原數除符號位外依次求反然後再加11111

1111

1111

1111[補]

求原數只需再補一次即可

即符號位不變其他位依次求反之後再加1

1000

0000

0000

0001[原]

由此可以看出,原數是

-1而無符號整型的最高位沒有符號位,仍然代表數值,所以直接可以通過數制轉換得到

1111

1111

1111

1111(2)=2^16-1(10)=65535(10)

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()

int 最大值

11樓:月臺小月亮

int佔32位的時候,最大可以賦值為:2147483647。也就是0x7fffffff。

在計算機裡我們的規定最高位是符號位。為0是正,為1負。所以最高位是不可以參加計算的。

比如二進位制數1000最高位是符號位的話,轉十進位制不是8,而是-0,對就是負0(正0的二進位制形式是0000)。

所以,k位的二進位制整數可以表示的狀態共2^k種,所以,有2^(k-1)個,而int型佔4個位元組,有32位,所以有2^31-1個,即2147483647。

12樓:縱橫豎屏

int佔32位的時候,最大可以賦值為:2147483647int 最小可以賦值為:-2147483648。

int是將一個數值向下取整為最接近的整數的函式。int是資料庫中常用函式中的取整函式,常用來判別一個數能否被另一個數整除。

計算方法:int佔32位,

最大值應該是:2^32-1=2147483647

13樓:匿名使用者

int的最大值是2147483647。

目前在一般的電腦中,int佔用4位元組,32位元,資料範圍為-2147483648~2147483647[-2^31~2^31-1]

在之前的微型機中,int佔用2位元組,16位元,資料範圍為-32768~32767[-2^15~2^15-1]

擴充套件資料

int是資料庫中一種資料型別,同時,作為函式,int函式指資料庫中常用函式中的「向下取整函式」。常用來取一個數中的整數部分。int是將一個數值向下取整為最接近的整數的函式。

為取整函式。

c/c++程式語言中,int表示整型變數,是一種資料型別,用於定義一個整型變數,在不同編譯環境有不同的大小,不同編譯執行環境大小不同。

14樓:離騷在騷動

int佔16位時,記憶體2位元組,最大值為32767;

int佔32位時,記憶體4位元組,最大值為21474836473。

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

15樓:咩咩咩的渣渣

c/c++程式語言中,int表示整型變數,是一種資料型別,用於定義一個整型變數,在不同編譯環境有不同的大小,不同編譯執行環境大小不同。

int_max的最大值為2147483647

拓展:

int型整數的含義

將數值向下或者向上取整為最接近的整數。

1 語法

int(number)

number 需要進行向下或者向上舍入取整的實數。

2 說明

int函式可用floor函式代替

int(number)=floor(number,1)

3 c/c++中

在32/64位系統中都是32位,範圍為-2147483648~+2147483647,無符號情況下表示為0~4294967295。

4 matlab中

int用於符號∫

int(s)符號表示式s的不定積分.

int(s,v)符號表示式s關於變數v的不定積分.

int(s,a,b)符號表示式s的定積分, a,b分別為積分的下限和上限.

int(s,v,a,b)符號表示式s關於變數v從 a到b的定積分.

當int求不出符號解,會自動轉求數值解.

16樓:射手座的

int最大值是int的最大值是2147483647。

1、16位編譯器說明:

int佔16位。記憶體2位元組。最大值:32767

2、32位和64位編譯器:

int佔32位。記憶體4位元組。最大值:21474836473。

在32/64位系統中都是32位,範圍為-2147483648~+2147483647。

決定int最大值的主要原因,根據編譯器型別不同而變化。所以某些編寫的程式,不能成功的在電腦中執行,多半與編譯器有關係,可能並不是程式的原因。

一般程式的表達方式,最高位為符號位,位數為n位時,則最大值為2^(n-1)即2的n-1次冪。關於演算法的問題,自然也要使用我們所學習的數學知識。

c/c++程式語言中,int表示整型變數,是一種資料型別,用於定義一個整型變數,在不同編譯環境有不同的大小,不同編譯執行環境大小不同。

在計算機裡,對數字編碼有3種方式:原碼、補碼、反碼。原碼其實就是10進位制數直接轉2進位制數的結果。比如:十進位制的18,在二進位制裡是10010。

那這裡的10010就是原碼。我們可以sizeof一下我們自己的電腦上int型佔幾個位元組。我的是4個位元組,也就是說只有32個位。

如果一個十進位制數轉位二進位制數位數大於32,就溢位,其實也就是存不下了。

存數不僅僅有正數還有負數,在計算機裡如何區分正數負數?我們規定最高位是符號位。為0是正,為1負。所以最高位是不可以參加計算的。

比如二進位制數1000最高位是符號位的話,轉十進位制不是8,而是-0,對就是負0(正0的二進位制形式是0000)。如果給一個十進位制形式的負數,如何計算它的補碼?

1、計算這個數絕對值的二進位制表示。

2、把2^n寫成二進位制形式減去這個數,得到的就是補碼。

比如:-5,

1、5的二進位制形式是:0101.最高位是符合位,為0是正。

2、1111-101,二進位制的減法,補碼就是1010.最高位是符合位,為1是負。

所以,int佔32位的時候,最大可以賦值為:2147483647。也就是0x7fffffff。

注意:7的二進位制形式最高位為0,如果你對2147483647+1.輸出的就是-2147483648。

這個數是負數中最大的數,也就是int型可以表示的最小的負數。它的十六進位制表示為:0x8fffffff,8的二進位制形式最高位是符號位,是1,為負。

Cosa sina的最大值,cosa sina的最大值

cosa sina 根號2 x sin a pai 4 根號2所以最大值為根號2 設y cosa sina 2 sin a 4 因為三角函式中 0 a 所以 4 a 4 5 4 所以 2 2 sin a 4 1 於是 1 sin a 4 2 即 1 y 2 所以cosa sina最大值 2 三角函式...

求函式的最大值

f x x 3 2x 6x f x 3x 2 3x 6 3 x 1 x 2 f x 在x 2,x 1處有極值 x 4,2 f x 0,f x 單調增x 2,1 f x 0,f x 單調減x 1,2 f x 0,f x 單調增 f x 在x 2處有極大值,f 2 10另f 2 2 則f x 最大值為1...

二次函式最大值,最小值,二次函式的最大值,最小值怎麼求

夢色十年 二次項係數是正數,函式有最小值無最大值。二次項係數是負數,函式有最大值無最小值。設函式是y ax bx c 當x b 2a,y 4ac b 4a。擴充套件資料 二次函式一次項係數b和二次項係數a共同決定對稱軸的位置。當a 0,與b同號時 即ab 0 對稱軸在y軸左 因為對稱軸在左邊則對稱軸...