為什麼int的取值範圍是 32768 32767,真正懂的回答下,不懂就不要亂答了

時間 2022-04-06 13:55:15

1樓:腳底抹油趕快溜

int 的取值範圍和開發環境平臺有關,不一定是 -32768~32767 之間。

只有在16位的環境平臺上才是 -32768~32767 之間,之所以是 -32768~32767 之間的原因是:計算機使用的是二進位制,那麼16位環境平臺下的取值範圍則為 2 的 16 次方 為 32768,由於還要包括 負數 和 0,所以取值範圍則為 -32768~32767 之間。

現在普遍是32位的環境平臺,所以 int 的取值範圍是 2 的 32 次方,-2147483648 ~ 2147483647 之間,如果是64位的環境平臺,取值範圍會更大。

這也是為什麼位數越高的作業系統和軟體,其處理能力越強大的原因。

2樓:聽不清啊

這是因為所用的編譯器中,int型別佔用2個位元組。共有16位。

16位有符號的整數中,首位二進位制是用來表示正負的,0表示正數,1表示負數。

16位有符號的整數的表示範圍是-2^15~+2^15-1,即-32768~+32767。

在c語言中為什麼int型的取值範圍是-32768~32767

3樓:天雲小店

int型取值範圍為-32768~32767是針對int型佔2個位元組來說的。

下面具體說明該範圍的求法:

int型佔2個位元組,共16位。

int型能表示的最大正數為(最高位為符號位,正數的符號位為0):0111 1111 1111 1111

也即2^15-1=32767

int型能表示的最小負數為(最高位為符號位,負數的符號位為1):1000 0000 0000 0000(補碼),而在計算機中負數是利用補碼進行儲存的,所以將1000 0000 0000 0000轉換為原始碼就是1000 0000 0000 0000,也即-2^15=32768

所以int型取值範圍為-32768~32767

4樓:

1樓的正解,因為有個0,其實你自己用2進位制算一下就明白了

5樓:匿名使用者

範圍而已,沒什麼為什麼

int 的取值範圍是-32768~32767 ,那為什麼int i,i 可以取值123456789呢

6樓:雨月藍

嚴格意義上來講 int 的取值範圍是-32768~32767,是錯的因為int 分為16位,32位,和64位

取值範圍是-32768~32767 的是32位,而64位的取值範圍是-2147483648 ~ 2147483647123456789 小於 2147483647如果 int i = 123456789; 那這裡的 int 就是 int64

7樓:匿名使用者

int 代表有符號整數,也就是說,用 int 宣告的變數可以是正數,可以是負數,也可以是零,但是隻能是整數。標準規定 int 的最小取值範圍是 -32767 到 32767。int 的取值範圍因機器而異,但是一定要大於或者等於 -32767 到 32767。

一般來說,int 佔用一個字的記憶體空間。因此,字長為 16 位(bit)的舊式 ibm 相容機使用 16 位來儲存整型 int ,取值範圍是

-32768 到 32767 。目前的個人電腦一般都是 32 位字長的,這些電腦中,int 一般也是 32 位的,取值範圍是 -2147483648 到 2147483647。對於使用 64 位 cpu 的電腦,使用更多位儲存 int 也是很自然的事情,取值範圍當然也會更大。

c語言中short整型資料的範圍「-32768——32767」中的「-32768」是如何確定的?

8樓:天雲小店

short 佔用記憶體空間2個位元組,也就是16個二進位制位。

表示負數時,最高位為符號位(負數的符號位為1),最小的負數為1000 0000 0000 0000 ,但是在計算機中負數是用補碼(符號位不變,其餘位取反,然後加1)表示的,人們規定1000 0000 0000 0000的補碼為-32768 ,所以在補碼系統中最小的是-32768

表示正數時,最高位為符號位(正數的符號位為0),最大的正數為0111 1111 1111 1111 即2^15 - 1 = 32767

為什麼c語言中有符號整型變數的取值範圍是-32768~32767,麻煩詳細解釋一下?

9樓:匿名使用者

你說的是int 型的,就是說int在-32768~32767範圍內是數是有效位,如果超過了,就會損失精度

10樓:匿名使用者

有符號整形變數int型的,在c語言裡面規定是用兩個位元組也就是16個二進位制位來表示的。最高為用來表示正負,後面還有15位數,於是一共可以表示2的15次方個數字,也就是32768個,但是呢,數字0是用的16個二進位制0表示的,所以正數只能到32767了,負數則是到-32768.這兩個數字就是這麼來的

11樓:匿名使用者

答:有符號整型變數的取值範圍是-32768~32767,這是過去16位計算機的int型別整數的表示範圍,因為16位二進位制可表示65536個十進位制資料,如果表示無符號整數則其範圍為:0 到 65535,而要表示有符號的十進位制資料,那麼最高位就是符號位,正數的範圍為:

0 到 32767,其二進位制數就是:0000 0000 0000 0000 到 0111 1111 1111 1111;負數的範圍為:-1 到 -32768,其二進位制數就是:

1111 1111 1111 1111 到 1000 0000 0000 0000 ,兩者所表示資料的個數恰好是65536個十進位制資料。

12樓:冒牌高斯

由於整型的位元組數(4)限制了值的範圍為:2的4*8(一個位元組有8位)次方,一般讓其正負個數一樣多,但還有個零。

13樓:

如果規定整型是2位元組,第一位表示符號位。所以-32768就是2進位制的1000 0000 0000 0000,32767就是2進位制的0111 1111 1111 1111,全1就是-32767

14樓:異靈擺渡

就是一個記憶體分配問題,分的只有4個位元組,就只能存呢麼多。在多就超出範圍了,叫做資料的益處,所以定義變數的時候要注意,使用更要注意,以免溢位資料造成亂碼非真值

c語言中int變數範圍為什麼是—32768至32767 就是正數的最大是2的15次方減一,想請教為什麼要減一呢?

15樓:

在機器中 有符號最大數為0111111111111111 就是2的15次方減1

再加1 符號位變為1 就成負數了

16樓:匿名使用者

你說的這個int是兩個位元組的,每個位元組8位,由於第1位要用來表示符號位所以正的最大值是

0 1111111 11111111 總共15個1,而2的15次方是

1 0000000 00000000

2的15次方減一剛好是 0111111111111111,就是 32767

17樓:匿名使用者

這是由於語言定義整數儲存位數決定的。

18樓:匿名使用者

0111111111111111 這是int型最大的正數。。。把這個數再加一就是2的15次方了。所以要減一。

函式y x x 2的自變數x取值範圍是

分母不能等於0 所以x 2 薛錦賢 你好x取值範圍x 2 0 即x 2望採納 曠文玉清戊 函式是初中代數的一個重點,函式自變數取值範圍的確定,有助於學好與函式相關的知識.確定函式自變數的取值範圍主要有以下幾種型別 一 分式型 這類函式在確定自變數取值範圍時通常是滿足分式有意義,但有時也不能隨意約分和...

不等式對任意實數恆成立,則實數的取值範圍是ABCD

洂神 c當x 3時,f x 有最小值4 當 3 x 1時,f x 有最小值4 當x 1時,f x 4 綜上f x 有最小值 4,所以,a 4 故答案為c 點評 本題考查絕對值不等式的解法,體現了等價轉化的數學思想 不等式 對任意實數 恆成立,則實數 的取值範圍為 a b c d 手機使用者 不等式來...

若(x 2x 3xx 成立,則x的取值範圍是

解 因 x 2 x 3 x 2 x 3 所以x 2與x 3同號,當x 2 0時,x 3 0.則x 3 當x 2 0時,x 3 0.則x 2。綜上所說,x的取值範圍是 x 2或x 3.以上選項沒有對的。回顧定義 x x,如 x 0 x x,如 x 0.1.如 x 3,則有 2x 1 x 2 x 3 1...