c語言long范圍
㈠ c語言中一個long型的整數最大是多少
c語言標准中未定義long的長度。具體的長度有各自的編譯器制訂。例如:微軟MSDN中的定義為:
long, unsigned long 4 byte
㈡ 在C/C++里,long long型的范圍是多少,輸入輸出格式是什麼
long long 的字元長度是int型的兩倍,現在int型一般為32位,所以long long是64位的,能支持的最大數為2^63 -1。
在VC6.0里並不支持long long,它使用的是__int64,具有相似的效果
long long 輸出格式為%lld
__int64 輸出格式為 %I64d
㈢ C語言變數定義char、int、long有什麼區別
1、char 在所有機器上都是佔一個位元組,有符號數范圍是-128到127,一般用來表示字元。字元在存儲中就是存儲的ascii值。
2、int 在16位機上佔2位元組,現在基本沒有了。 在32|64位機上佔四位元組,有符號數范圍是-2^31到2^31-1。
3、long 在32位編譯系統下佔4位元組,與int相同。在64位系統下佔8位元組,可表示的數據范圍是-2^63到2^63-1。
拓展資料:
C語言
是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
語言標准
起初,C語言沒有官方標准。1978年由美國電話電報公司(AT&T)貝爾實驗室正式發表了C語言。布萊恩·柯林漢(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本書,名叫《The C Programming Language》。這本書被 C語言開發者們稱為K&R,很多年來被當作 C語言的非正式的標准說明。人們稱這個版本的 C語言為K&R C。
特點
1、C語言是一個有結構化程序設計、具有變數作用域(variable scope)以及遞歸功能的過程式語言。
2、C語言傳遞參數均是以值傳遞(pass by value),另外也可以傳遞指針(a pointer passed by value)。
3、不同的變數類型可以用結構體(struct)組合在一起。
4、只有32個保留字(reserved keywords),使變數、函數命名有更多彈性。
5、部份的變數類型可以轉換,例如整型和字元型變數。
6、通過指針(pointer),C語言可以容易的對存儲器進行低級控制。
7、預編譯處理(preprocessor)讓C語言的編譯更具有彈性。
㈣ c語言中int與long的區別
早期的操作系統是16位系統,
int用二位元組表示,范圍是-32768~32767;
long用4位元組表示,范圍是-2147483648~2147483647。
後來發展到32位操作系統,
int 用4位元組表示,與long相同。
目前的操作系統已發展到64位操作系統,但因程序編譯工藝的不同,兩者表現出不同的差別:
32位編譯系統:int佔四位元組,與long相同。
64位編譯系統:int佔四位元組,long佔8位元組,long數據范圍變為:-2^63~2^63-1
㈤ C語言 關於int和long類型的范圍
編譯器不同,寬度是不相同,分別如下:
16位編譯器:
int: 2個位元組
long: 4個位元組
long long: 8個位元組
unsigned long: 4個位元組
32位編譯器:
int: 2個位元組
long: 4個位元組
long long: 8個位元組
unsigned long: 4個位元組
64位編譯器:
int: 4個位元組
long: 8個位元組
long long: 8個位元組
unsigned long: 8個位元組
具體范圍,請看下圖:
㈥ C語言的char,short,int和long類型分別有多長
char就是1位元組(固定不變),short不少於2位元組,int不少於short,long不少於4位元組,且long不少於int,long long不少於long。
除了char,其他整型範圍都是相對而言的,確保後一種的寬度不低於前一種即可(可能相等),在不同的年代,計算機硬體發展不同,內存、外存容量也不同,主流編譯器在設計的時候會綜合考慮計算機硬體的情況,來設計每一種數據類型的實際寬度。
char型在任何情況下都是佔1個位元組,而比如int型,它的長度與環境的字長相同,在16位的環境中,它佔16位,2個位元組;32位環境中佔4個位元組。
(6)c語言long范圍擴展閱讀
在C語言中可以用sizeof運算符,獲取數據類型或者變數所佔的內存位元組數。示例代碼如下:
#includeintmain()
{
printf("%d %d %d ",sizeof(int),sizeof(short),sizeof(long));
return0;
}
㈦ c語言中int,long的取值范圍是多少為什麼是這么多(32位機)
int和long作為基本的整數類型,取值范圍和位數直接相關。如果是n位整數的話,最高位表示符號位,剩下的n-1位以補碼形式表示絕對值,因此范圍是整數區間[-2^(n-1),2^(n-1))。
int和long並沒有明確位數,具體和平台相關(有一點可以確定,sizeof(int)<=sizeof(long))。一般而言,32位機的int是32位的,於是范圍是[-2^31, 2^31)也就是[-2147483648, -2147483648)。而非int的位數取決於機器字長外還決定於軟體平台(操作系統、編譯器)上實現的特定的C語言數據模型(專指整數數據模型,不是資料庫里討論的那個),只是一般32位平台上的long都比較統一(基本上都是LP32),為32位,范圍和int一致。(如果是64位平台,除了Windows上的LLP64模型中long是32位外,LP64、ILP64、SILP64的long都是64位)。
另外LS錯誤。首先用的無符號整數寫法是錯誤的,其次printf使用不當(應該用字長無關的%i保證結果正確),再次結果意義不明確。
unsigned int i= -1;
unsigned long l = -1;
printf("%i %i", i, l);
-1轉換為無符號數後表示負數的符號位「1」被作為最高非符號位,輸出的是無符號整數的最大值。
printf("%i %i", i >> 1, l >> 1);
輸出有符號整數最大值,該值加1再乘以-1後即得有符號整數最小值。
====
[原創回答團]
㈧ c語言中長整型和整型的范圍
1、c語言中長整型常量:的數值范圍最小是十進制的-2147483647~+2147483647,在計算機中最少佔用4個位元組。位元組長度跟操作系統和編譯器有關,longint長度至少32位,而64位類Unix系統為64位。
2、c語言中整型常量:是通常的整數,包括正整數、負整數和0,其數據類型顯然是整型。整型常量內存大小和數值范圍取決於編譯器。
(8)c語言long范圍擴展閱讀
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語言long是什麼意思
long 是C語言的一個關鍵字,代表一種數據類型,中文為長整型。