1樓:
整型最大值? 沒必要那麼麻煩,只要分一下是無符號型還是有符號型,寬度是多少,16位或8位的系統中整型寬度是兩位元組也就是16位,32位系統的整型是寬度是32位,如果不是無符號數則還要去掉最高位(有符號數的最高位為符號位0為正1為負)
從2的0次方加到2的(n-1)次方,也就等於2的n次方減1 就算不懂數學原理從計算機的存貯結構上也看得出來,那個最大值再加個1就進位了,加1等於2的n次方也就是它們的和等於2的n次方減1啦
2樓:匿名使用者
根據編譯器的不同,整型的大小也不同。有16、32位、64位。。。。之分。一般情況大多數還是32位居多。比如一個32位的整型其大小是這麼計算的:
00000000 00000000 00000000 00000000
假如以上是32位。每八位是一個位元組。那麼一個整型的大小就是四個位元組。
同理,如果是16位的,就是兩位元組大小。
3樓:鐳毅
理解非常正確:
比如一個32位二進位制數為b31b30b29.。。。b1b0,則其值為:
b31*2^31+b30*2^30+.........+b0*2^0
c語言 怎麼計算整型陣列的長度
4樓:天雨下凡
假設陣列名為a
則用語句:sizeof(a)/sizeof(a[0]);
c語言 怎麼計算整型陣列的長度
5樓:編號七五七
如果陣列為a,長度可以如下計算:
sizeof(a) / sizeof(int)
6樓:匿名使用者
用sizeof(a)
7樓:
sizeof(a)/sizeof(a[1])
c語言中,一個整型對一個浮點型取餘是怎樣運算的?
8樓:匿名使用者
首先說說明下,取餘運算是能是2個整數來運算。在表示式中同優先順序的運算子是從左往右依次運算的,就像你這個7%1/2最終是等於0,7%2/4剛等於0
9樓:湛藍水晶
你舉的例子不是整型對浮點做%.
7%1/2等價於 (7%1)/2 = 0/2 = 0;
如果是想問 7%0.5,那是編譯錯誤,%操作符不能用於浮點數
10樓:
不是對浮點型取餘,7%1/2是先執行7%1然後執行0/2
11樓:淺夏微涼耶
c語言中,取餘要求是整型對整型的操作
12樓:紅夏蘭忻民
不是,如果均為整型那所得結果也為整型,即使不能整除只取整數部份。如果除數或被除數中有一個為浮點型或double型結果就會是精度更高的那類
c語言為什麼整型int計算範圍不對呢?
13樓:怕怕怕
c語言中的長整型和整型的最大值和最小值,在標準庫標頭檔案limits.h中以巨集的形式定義。使用者可以直接檢視或者使用。
int_max:int型別的最大值
int_min:int型別的最小值
uint_max:unsigned int型別的最大值long_max:長整型的最大值
long_min:長整型的最小值
ulong_max:長整型的最小值
示例如下:12
3456
78#include
#include
int main()
14樓:吉祥二進位制
c語言int型別的值的範圍這個也對,也不對。
1、說對,是因為在16位的計算機上這個是對的。
2、說不對,是因為不同的編譯環境不同,導致的結果都不同。
3、一般在c語言程式設計中通過limits.h標頭檔案中的int_max或者int_min來表示
c語言中怎麼統計一個整形變數輸出長度?
15樓:
#include
#include
int main()
16樓:翻工好辛虎
那其實就是算它的位數啊
int count=0;
while(a!=0)
c語言基本整型的資料範圍什麼意思
17樓:匿名使用者
基本整型變數,所佔位元組數為2,每個位元組等於八位二進位制數,可以用0和1表示的八位二進位制數,2個位元組也就是16位二進位制。
最高位表示正負,所以用0和1組成的16位數字範圍為-2的15次方~2的15次方,也就是-32768~32767。因此基本整型變數資料範圍是-32768~32767。
18樓:匿名使用者
int佔4個位元組,一個位元組4位,則它的空間有2的16次方byte,若有unsigned修飾,則說明它是無符號整型資料,它的範圍為0~65535,若沒有unsigned修飾,則說明最高位為符號位,它的範圍為-32768~32767
對於無符號數,比較簡單,根據佔用的位數可以直接計算:
unsigned short 16位 0~2的16次方-1(即65535)
unsigned int 16位 0~2的16次方-1(即65535)
unsigned long 32位 0~2的32次方-1(即4294967295)
對於有符號數,由於符號位佔用一位,並且負數要用補碼錶示。
以8位資料為例:2進位制的11111111表示-1,10000000表示-128,所以負數範圍-128~-1;2進位制00000000表示0,01111111表示127,所以正數範圍0~127。合起來就是-128~127,找一下規律發現是- 2的(8-1)次方~2的(8-1)次方-1,那麼就可以得到任何位數的範圍:
short 16位 - 2的(16-1)次方~2的(16-1)次方-1(即-32768~32767)
int 16位 - 2的(16-1)次方~2的(16-1)次方-1(即-32768~32767)
long 32位 - 2的(32-1)次方~2的(32-1)次方-1(即-2147483648~2147483648)
擴充套件資料:
(1)char:字元型資料,屬於整型資料的一種,佔用一個位元組
(2)unsigned char:無符號字元型資料,屬於整型資料的一種,佔用一個位元組
(3)short:短整型資料,屬於整型資料的一種,佔用兩個位元組
(4)unsigned short:無符號短整型資料,屬於整形資料的一種,佔用兩個位元組
(5)int:整形資料,屬於整型資料的一種,佔用四個位元組
(6)unsigned int:無符號整型資料,屬於整型資料的一種,佔用四個位元組
(7)long:長整型資料,屬於整型資料的一種,佔用四個位元組
(8)unsigned long:無符號長整型資料,屬於整形資料的一種,佔用四個位元組
實 型 變 量 的 類 型 有 float和 double兩 種 ,下 表 列 出 這 兩 種 型別所 佔 內 存 的 位數 和 其 表 示 範 圍 。資料型別 所佔位數 數的範圍:
float 32 3.4e-038~3.4e+038
double 64 1.7e-308~1.7e+308
雙 精 度 類 型 double比 單 精 度 類 型 float具 有 更 高 的 精 度 和更大 的 表 示 範 圍 ,常 常 使 用 。
19樓:薔祀
整型變數int佔4個位元組,一個位元組4位,則它的空間有2的16次方byte,若有unsigned修飾,則說明它是無符號整型資料,它的範圍為0~65535。若沒有unsigned修飾,則說明最高位為符號位,它的範圍為-32768~32767。
int是資料庫中一種資料型別,同時,作為函式,int函式指資料庫中常用函式中的「向下取整函式」。常用來取一個數中的整數部分。int是將一個數值向下取整為最接近的整數的函式。
為取整函式。
擴充套件資料:
c語言中其他資料的取值範圍:
①短整型:
型別說明符為short int或short'c110f1。所佔位元組和取值範圍會因不同的編譯系統而有差異。對於16字機,short int 佔2個位元組,在大多數的32位機中,short int 佔4個位元組。
但總的來說,short int 至少16位,也就是2個位元組。
②長整型:
型別說明符為long int或long ,在記憶體中佔4個位元組,其取值為長整常數。在任何的編譯系統中,長整型都是佔4個位元組。在一般情況下,其所佔的位元組數和取值範圍與基本型相同。
③無符號型:
型別說明符為unsigned。在編譯系統中,系統會區分有符號數和無符號數,區分的根據是如何解釋位元組中的最高位,如果最高位被解釋為資料位,則整型資料則表示為無符號數。
20樓:匿名使用者
1 位元組 = 8位
int型 2位元組 = 16位
按vc++和c++的規定,int和long等長,都是32位的。short才是16位的。只有原始的c才定義int和short等長為16位。
這個資料範圍指的確實是具體 int的取值範圍,但不是你理解的那樣。
現在以16位的short為例。
首先必須清楚一個概念,計算機中存放的資料都是以二進位制形式存放的。short存放的是整型資料,是用固定位數16個二進位制位來表示一個整數,不足16位補0。
比如125的二進位制是1111101,那麼在記憶體中存放就是
0000 0000 0111 1101
那麼16個二進位制位能夠表示多少種不同的整數呢?稍微用點數學常識就知道,是2的16次方,也就是65536個不同的整數。所以對於無符號整數,unsigned short的範圍就是0~65535。
而為了表示負數,計算機用short的第一位作為符號位來表示正負。注意,計算機中是以補碼的形式存放整數的。對於正數,補碼是其本身;對於負數,其補碼是對其絕對值的按位取反,再加1的結果。
舉個簡單的例子:
125是0000 0000 0111 1101
-125計算過程:
125是0000 0000 0111 1101
按位取反,1111 1111 1000 0010
再加1,1111 1111 1000 0011
所以-125就是1111 1111 1000 0011。
補碼不是三言兩語能講得清楚的,樓主有個概念即可。
我們發現,正數的補碼首位都是0,負數的補碼首位都是1。
short有符號型的範圍是-32768~32767。
那麼,如果超出了範圍,會發生什麼現象呢?
很簡單,這稱為溢位。
比如short a = 32768
32768是1000 0000 0000 0000。還記得我講過嗎?正數的補碼首位都是0,但這裡首位為1,這是怎麼回事呢?
其實因為浪費了1位做符號位,short的有效位數只是15位而已,而2的15次方是32768,因此正數的範圍是0~32767,32768超出了範圍,計算機怎麼處理呢?結果就是把它當作負數,根據補碼計算它的原碼。反過來即可
1000 0000 0000 0000 減1,
0111 1111 1111 1111 再按位取反,
1000 0000 0000 0000 就是32768
所以1000 0000 0000 0000表示-32768
也就是說short a = 32768;把a輸出來得到-32768樓主可以試驗一下。
再舉一例:
unsigned short a=65536;
65536是1 0000 0000 0000 0000 注意這已經是17位了。計算機會自動擷取後面的16位
就是得到0000 0000 0000 0000,也就是0
所以unsigned short a=65536;輸出a得到0。
明白了嗎?
c語言的整型變數,C語言的整型變數
整型變數 整型變數可分為以下幾類 1.基本型 型別說明符為int,在記憶體中佔2個位元組,其取值為基本整常數。2.短整量 型別說明符為short int或short c110f1。所佔位元組和取值範圍均與基本型相同。3.長整型 型別說明符為long int或long 在記憶體中佔4個位元組,其取值為...
c語言的整型什麼意思,C語言的整型變數到底是什麼意思?
整型變數,即 整數型變數。包括有符號整數和無符號整數,從資料長度上分,包括短整數 整數 長整數。標準整數型別為int 一般只說整形,通常是指這個,但其它整數型別也在簡稱整形變數的範圍之內。包括的關鍵字有 short int long unsigned其它常見的內建變數型別還有很多,例如 unit u...
c語言的整型變數到底是什麼意思,C語言的整型變數到底是什麼意思?
c語言一共有4中型別,整形,浮點型,指標型別和聚合型別,整形變數的意思是他的變數只能取整數,包括字元 短整型,整形和長整形四種。整型,就是整數,比如5,8 它區別與小數 計算機中叫浮點數 比如5.8就是小數,而不是整數變數,也就是說它是可以變化的,比如int i i就是一個變數,可以給它賦值i 2,...