乙個形如 39 的值被稱作字面值常量 (literal),每個字面值常量都對應一種資料型別,字面值常量的形式和值決定了它的資料型別。
整型字面值寫作十進位制數、八進位制數或十六進製制數的形式。以0
開頭的整數代表八進位制數,以0x
或0x
開頭的代表十六進製制數。下面的任意一種形式都表示數值 20:
二進位制由 0 和 1 兩個數字組成,使用時必須以20 /* 十進位制 */
024 /* 八進位制 */
0x14 /* 十六進製制 */
0b
或0b
(不區分大小寫) 開頭。
整型字面值具體的資料型別由它的值和符號決定。預設情況下,十進位製字面值是帶符號數,八進位制和十六進製製字面值既可能是帶符號的也可能是無符號的。
十進位製字面值的型別是 int、long 和 long long 中尺寸最小的那個,當然前提是這種型別要能容納下當前的值。八進位制和十六進製製字面值的型別是能容納其數值的 int、unsigned int、long、unsigned long、long long 和 unsigned long long 中的尺寸最小者。如果乙個字面值連與之關聯的最大的資料型別都放不下,將產生錯誤。型別 short 沒有對應的字面值。20 /* 十進位制 */
024 /* 八進位制 -> 十進位制:2 * (8^1) + 4 * (8^0) = 16 + 4 = 20 */
0x14 /* 十六進製制 -> 十進位制:1 * (16^1) + 4 * (16^0) = 16 + 4 = 20 */
儘管整型字面值可以儲存在帶符號資料型別中,但嚴格來說,十進位製字面值不會是負數。
如果我們使用了乙個形如-42
的負十進位製字面值,那個負號並不在字面值之內,它的作用僅僅是對字面值取負值而己。
浮點型字面值表現為乙個小數或以科學計數法表示的指數,其中指數部分用e
或e
標識:
預設的,浮點型字面值是乙個3.14159
3·14159e0
0· 0e0
.001
double
。
c++ primer
c 字面值常量
字面值常量 literal constant 字面值 是指只能用它的值稱呼它,常量 是指其值不能修改。每個字面值都有相應的型別,3.14是double型,2是int型。只有內建型別存在字面值。1.整形字面值規則 整形字面值常量可以用十進位制 八進位制 十六進製制表示。20 dec 024 oct 以...
C 字面值常量
乙個形如42的值被稱為字面值常量 literal 每個字面值常量都對應一種資料型別,字面值常量的形式和值決定了它的資料型別。字面值常量的型別有 1 整型字面值 整型字面值可以寫作三種形式 十進位制數 八進位制數和十六進製制數。以0開頭的整數代表八進位制數,以0x或0x開頭的代表十六進製制數。如下為數...
C 中字面值常量和字面值型別
乙個形如42的值被稱為字面值常量。字面值常量的形式和值決定了常量的型別。例如0x42是16進製表示的整型常量。a 是char型字面值。字面值常量顧名思義由字面意思表示,是常量。字面值常量在程式中是直接表示的,整型直接寫出大小,字元直接寫出字元。乙個字面值常量在編譯時被直接解析為立即數,編譯器內部維護...