當前位置:首頁 » 編程語言 » c語言長整型常量

c語言長整型常量

發布時間: 2023-01-06 06:50:00

c語言中整型常量有幾種形式,它們是如何表示的

在C語言中,整型常量有三種書寫形式:

(1) 十進制整數。十進制整數就是通常整數的寫法。例如:11、15、21等。

(2) 八進制整數。八進制整數的書寫形式是在通常八進制整數的前面加一個數字0。例如:00、0111、015、021等,它們分別表示十進制整數:0、73、13、17

(3) 十六進制整數。十六進制整數的書寫形式是在通常十六進制整數的前面加0x。例如:0x0、0x111、0x15、0x21等,它們分別表示十進制整數0、273、21、33。

注意,整型常量前面沒有+或者-,-10其實是一元-運算符和操作數10,同樣整型常量的十進製表示並沒有0,單獨寫一個0其實是一個八進制常量。

(1)c語言長整型常量擴展閱讀

轉換為整型

要明示地將一個值轉換為 integer,用 (int) 或 (integer)強制轉換。不過大多數情況下都不需要強制轉換,因為當運算符,函數或流程式控制制需要一個 integer 參數時,值會自動轉換。您還可以通過函數 intval() 來將一個值轉換成整型。

1、從布爾值轉換

FALSE 將產生出0(零),TRUE 將產生出1(壹)。

2、從浮點數轉換

當從浮點數轉換成整數時,數字將被取整(丟棄小數位)。

注意:如果浮點數超出了整數范圍(通常為 +/- 2.15e+9 = 2^31),則結果不確定,因為沒有足夠的精度使浮點數給出一個確切的整數結果。在此情況下沒有警告,甚至沒有任何通知!

註:在 Linux 下返回結果是最小負數(-214748),而在 Windows 下返回結果是零(0)。

【以下以C/C++語言為例,陳述一下整型的知識】:

a、C/C++對整型長度的規定是為了執行效率,將int定義為機器字長可以取得最大的執行速度;

b、C/C++中整型包括:int,char和enum,C++中還包含bool類型,C99中bool是一個宏,實際為_Bool;

c、C和C++對enum的規定有所不同,這里不描述;

d、修飾整型正負的有signed和unsigned,對於int默認為signed;

e、修飾 int 大小的有short和long,部分編譯器還擴展了一些更長的整型,比如long long和__int64, C99中增加了long long和unsigned long long;

f、int 的長度與機器字長相同,16位的編譯器上int長16位,32位的編譯器上int長32位;

g、short int的長度小於等於int 的長度,注意它們可能長度相等,這取決於編譯器;

h、long int 的長度大於等於int 的長度,注意它們可能長度相等,這取決於編譯器;

i、char 的長度應當可以包容得下一個字元,大部分系統中就是一個位元組,而有的系統中可能是4個位元組,因為這些系統中一個字元需要四個位元組來描述;

j、char 的正負取決於編譯器,而編譯器的決定取決於操作系統,在不同的編譯器中char可能等同於signed char,也可能等同於unsigned char。

參考資料來源:網路-整型

參考資料來源:網路-整型常量

② C語言長整型常數,什麼是長整型常數

長整型數是相對於基本整型數而言的,一般它佔用的存儲空間是基本整型數的2倍。具體大小隨不同的編譯器而不同。如果它的存儲空間是k個位元組,可存儲數的范圍是-2^(8k-1)~+2^(8k-1)-1。

整型變數可分為以下幾類:

1.基本型

類型說明符為int,根據計算機的內部字長和編譯器的版本,在內存中可能佔2或4個位元組(通常分別在16位機和32位機上),其取值為基本整常數。

2.短整型

類型說明符為short int或short,在內存中佔2個位元組,其取值為短整常數。

3.長整型

類型說明符為long int或long,在內存中佔4個位元組,其取值為長整常數。

4.64位整型(非ANSI標准)

類型說明符為__int64、long long int或long long,在內存中佔8個位元組,其取值為64位整常數。

5.無符號型

類型說明符為unsigned。它可以單獨使用代表unsigned int,也可以作為前綴,都表示無符號整數,即永遠為非負的整型變數,大於0的數據范圍約擴大為原來的2倍。各種無符號類型量所佔的內存空間位元組數與相應的有符號類型量相同。但由於省去了符號位,故不能表示負數。下表列出了Turbo C中各類整型量所分配的內存位元組數及數的表示範圍。



整數的後綴

可以用後綴「L」或「l」來表示長整型數。例如:

十進制長整型數:158L (十進制為158)、358000L (十進制為358000);

八進制長整型數:012L (十進制為10)、077L (十進制為63)、0200000L (十進制為65536);

十六進制長整型數:0X15L (十進制為21)、0XA5L (十進制為165)、0X10000L (十進制為65536)。

長整型數158L和基本整型數158 在數值上並無區別。但對158L,因為是長整型數,C編譯系統將為它分配4個位元組存儲空間。而對158,因為是基本整型,只分配2 個位元組的存儲空間。因此在運算和輸出格式上要予以注意,避免出錯。

無符號數也可用後綴表示,整型數的無符號數的後綴為「U」或「u」。例如:358u、0x38Au、235Lu均為無符號數。

前綴,後綴可同時使用以表示各種類型的數。如0XA5Lu表示十六進制無符號長整型數A5,其十進制為165。

③ 在c語言中,合法的長整型常數是 0L 4962710

在沒有任何標記的時候
整型常數默認都是int型,所以
4962710
就是int型,而不是長整型
long。
要默認Long,需要在結尾加L
於是
0L是合法的長整型數據。

熱點內容
隨機啟動腳本 發布:2025-07-05 16:10:30 瀏覽:532
微博資料庫設計 發布:2025-07-05 15:30:55 瀏覽:30
linux485 發布:2025-07-05 14:38:28 瀏覽:310
php用的軟體 發布:2025-07-05 14:06:22 瀏覽:760
沒有許可權訪問計算機 發布:2025-07-05 13:29:11 瀏覽:436
javaweb開發教程視頻教程 發布:2025-07-05 13:24:41 瀏覽:717
康師傅控流腳本破解 發布:2025-07-05 13:17:27 瀏覽:246
java的開發流程 發布:2025-07-05 12:45:11 瀏覽:692
怎麼看內存卡配置 發布:2025-07-05 12:29:19 瀏覽:288
訪問學者英文個人簡歷 發布:2025-07-05 12:29:17 瀏覽:837