c語言int范圍
『壹』 C++中int的范圍是多少
c語言中int的取值范圍為:-2147483648 ~ 2147483647
解釋如下:
int類型在C語言中佔4個位元組,即32個二進制位。
當表示正數時,最高位為符號位(符號位為0),最大的正數是 0111 1111 1111 1111 1111 1111 1111 1111 即2^31 -1 = 2147483647當表示負數時,最高位為符號位(符號位為1),最小的負數是 1000 0000 0000 0000 0000 0000 0000 0000 而在計算機中是以補碼的形式存儲的,C語言規定 1000 0000 0000 0000 0000 0000 0000 0000 的補碼為-2147483648
所以C語言中int的取值范圍為:-2147483648 ~ 2147483647
拓展內容:
C++:
是C語言的繼承,它既可以進行C語言的過程化程序設計,又可以進行以抽象數據類型為特點的基於對象的程序設計,還可以進行以繼承和多態為特點的面向對象的程序設計。
C++擅長面向對象程序設計的同時,還可以進行基於過程的程序設計,因而C++就適應的問題規模而論,大小由之。
C++不僅擁有計算機高效運行的實用性特徵,同時還致力於提高大規模程序的編程質量與程序設計語言的問題描述能力。
『貳』 C語言基本整型的數據范圍什麼意思
基本整型變數,所佔位元組數為2,每個位元組等於八位二進制數,可以用0和1表示的八位二進制數,2個位元組也就是16位二進制。
最高位表示正負,所以用0和1組成的16位數字范圍為-2的15次方~2的15次方,也就是-32768~32767。因此基本整型變數數據范圍是-32768~32767。
位元組構成信息的一個小單位,並作為一個整體來參加操作,比字小,是構成字的單位。
在微型計算機中,通常用多少位元組來表示存儲器的存儲容量。
例如,在C++的數據類型表示中,通常char為1個位元組,int為4個位元組,double為8個位元組。
『叄』 有關C語言中int型數據的取值范圍的問題
是這樣的,現在計算機中表示有符號數用的幾乎都是2的補碼表示法(two's complement),像C語言中的int、long等就是用這種表示法。而表示無符號整數(即非負整數,如unsigned int)用的是原碼表示,計算其十進制真值時直接按權展開就行。
將用2的補碼表示的二進制轉化成十進制有好幾種方法,最規范的一種是按下面的公式計算:
x[n-1]×(-2^(n-1)) + x[n-2]×2^(n-2)+ … + x[1]×2^1 + x[0]×2^0
其中n表示二進制位數,x[n-1]表示第n-1位數(從0開始,從右往左數),注意最高位是乘以(-2^(n-1)),有負號,其它項無負號。
比如設(1111)B用2的補碼表示,上面的公式計算其十進制真值的過程是:
........(1111)B =1×(-2^3) + 1×2^2 + 1×2^1 + 1×2^0
................= -8 + 4 + 2 + 1
................= -1
所以(1111)B = (-1)D
實際上,2的補碼表示的16位二進制,其十進制真值如下:
……二進制……………………十進制
0000 0000 0000 0000............0
0000 0000 0000 0001............1
0111 1111 1111 1110............32766
0111 1111 1111 1111............32767
1111 1111 1111 1111............-1
1111 1111 1111 1110............-2
1000 0000 0000 0001............-32767
1000 0000 0000 0000............-32768
所以樓主在上面寫的「32767即二進制的1111111111111111」是不對的,(1111 1111 1111 1111)B表示十進制數的 -1。
2的補碼表示法(其它表示法還有1的補碼表示法、移碼表示法等)是在計算機組成原理課程中講的。
要了解更多2的補碼表示法,樓主可以Google中搜索「Two's complement」,或者參考:
http://tieba..com/f?kz=278455703
『肆』 C語言中。int 取值范圍
int是32位的。一半正數,一半負數,所以取值范圍就出來了。
-2的15次方~2的15次方-1
『伍』 C語言int的取值范圍
C語言int的取值范圍在32/64位系統中都是32位,范圍為-2147483648~+2147483647,無符號情況下表示為0~4294967295。
C/C++編程語言中,int表示整型變數,是一種數據類型,用於定義一個整型變數,在不同編譯環境有不同的大小,不同編譯運行環境大小不同。
C的數據類型包括:整型、字元型、實型或浮點型(單精度和雙精度)、枚舉類型、數組類型、結構體類型、共用體類型、指針類型和空類型。
基本數據類型:
void:聲明函數無返回值或無參數,聲明無類型指針,顯示丟棄運算結果。(C89標准新增)
char:字元型類型數據,屬於整型數據的一種。(K&R時期引入)
int:整型數據,表示範圍通常為編譯器指定的內存位元組長。(K&R時期引入)
float:單精度浮點型數據,屬於浮點數據的一種。(K&R時期引入)
double:雙精度浮點型數據,屬於浮點數據的一種。(K&R時期引入)
_Bool:布爾型(C99標准新增)
_Complex:復數的基本類型(C99標准新增)
_Imaginary:虛數,與復數基本類型相似,沒有實部的純虛數(C99標准新增)
_Generic:提供重載的介面入口(C11標准新增)
(5)c語言int范圍擴展閱讀:
1989年,ANSI發布了第一個完整的C語言標准——ANSI X3.159—1989,簡稱「C89」,不過人們也習慣稱其為「ANSI C」。
C89在1990年被國際標准組織ISO(International Standard Organization)一字不改地採納,ISO官方給予的名稱為:ISO/IEC 9899,所以ISO/IEC9899: 1990也通常被簡稱為「C90」。
1999年,在做了一些必要的修正和完善後,ISO發布了新的C語言標准,命名為ISO/IEC 9899:1999,簡稱「C99」。
在2011年12月8日,ISO又正式發布了新的標准,稱為ISO/IEC9899: 2011,簡稱為「C11」。
『陸』 c語言中長整型和整型的范圍
1、c語言中長整型常量:的數值范圍最小是十進制的-2147483647~+2147483647,在計算機中最少佔用4個位元組。位元組長度跟操作系統和編譯器有關,longint長度至少32位,而64位類Unix系統為64位。
2、c語言中整型常量:是通常的整數,包括正整數、負整數和0,其數據類型顯然是整型。整型常量內存大小和數值范圍取決於編譯器。
(6)c語言int范圍擴展閱讀
c語言中VB中的長整型
VB中整數類型有兩種:Integer和Long,都是有符號的整數
Integer變數存儲為16位(2個位元組)的數值形式,其范圍在-32,768至32,767之間。Integer的類型聲明字元是百分比符號(%)。
Long(長整型)變數存儲為32位(4個位元組)有符號的數值形式,其范圍從-2,147,483,648到2,147,483,647(約為21億)。Long的類型聲明字元為和號(&)。
『柒』 c語言中int,long的取值范圍是多少
主要看編譯器怎麼對這些類型的數據怎麼處理了,不同的編譯器可能會給int分配不同的空間,一般在32位系統中會給int分配4個位元組,以前的單片機編譯器一般會分配1個位元組,現在64位的編譯器一般會分配8個位元組,不同的位元組,他們能表示的取值范圍也就不一樣了。
同樣,有符號數和無符號數,表示的數據范圍也不一樣。比如單片機中的編譯器C51,分配一個位元組:
無符號數,最大也就是0XFF,即十進制的255。
有符號數,正數0~127,負數-128到-1
其它依次類推
long同樣類似
『捌』 c語言中:int型,有范圍,最大的十進制數多少,有多少位
int佔4個位元組
-2^32 ~ 2^32-1
即 -2147483648 ~ 2147483647
『玖』 C語言的int類型變數范圍是多少
變數范圍是-32,768 to 32,767 或者 -2,147,483,648
『拾』 64位系統下C語言中int值的取值范圍
64位機器中,int佔32位,取值范圍為-2147483648~2147483647(-2^32~2^32-1)。
int類型的情況:
shortint類型可能佔用比int類型更少的存儲空間,C保證short類型至少16位長,用於只需小數值的場合以節省空間。
longint類型(或簡寫為long類型)可能佔用比int類型更多的存儲空間,C保證short類型至少32位長,用於使用大樹枝的場合。
longlongint類型(或簡寫為longlong類型)可能佔用比long類型更多的存儲空間,C保證short類型至少64位長,用於使用更大數值的場合。
(10)c語言int范圍擴展閱讀
C語言的整型溢出問題int
int為4位元組32位,其中首位用0表示正數,用1表示為負數。因此對於
最大正數可以表示為:0x7fffffff(7的二進制為0111,f二進制為1111)
最大負數(-1)可以表示為:0xffffffff
最小負數可以表示為:0x80000000(8的二進制為1000)
負數為正數的源碼取反碼再取補碼,過程如下:
1、-1的原碼:
2、得反碼:
3、得補碼: