用十六進制格式聲明數組的大小有什麼好處? 編譯器是否將十六進制轉換爲二進制比十進制數字更快?用十六進制數聲明一個數組
例如:
int array [0x1480];
int array0[5248];
sizeof(array)/sizeof(*array) == sizeof(array0)/sizeof(*array0) //simply a true statement
用十六進制格式聲明數組的大小有什麼好處? 編譯器是否將十六進制轉換爲二進制比十進制數字更快?用十六進制數聲明一個數組
例如:
int array [0x1480];
int array0[5248];
sizeof(array)/sizeof(*array) == sizeof(array0)/sizeof(*array0) //simply a true statement
不是。這完全是一個程序員相信十六進制符號以某種方式提高了可讀性。
在C++一個const可以呈現爲十進制,八和六角文字。 詳情請參閱http://www.cplusplus.com/doc/tutorial/constants/。
所以下面的數字是相同的:
5248 // decimal
0x1480 // hex
012200 // octal
這並沒有真正解決OP的問題,即如果在某些情況下使用十六進制文字* maters *。 – aruisdante 2015-03-19 06:28:11
它表明它們是*相同*,你爲什麼認爲它不是答案? – Mine 2015-03-20 01:51:02
完全沒有。這完全是一個程序員相信十六進制符號以某種方式提高了可讀性。 – aruisdante 2015-03-19 03:35:46
@aruisdante發表相同的答案! – CinCout 2015-03-19 05:56:18
由於編譯器必須爲十六進制常量處理6個字符,但對於十進制常量只能處理4個字符,因此處理十六進制的處理將小於處理小數(但不可測量)。然而,這兩種表示法都沒有「真正的」性能優勢。這對程序員來說是符號方便的問題。據推測,有一個原因,爲什麼十六進制常量是一個比小數更好的選擇(雖然不明白爲什麼選擇該值,無論是十六進制還是十進制)。 – 2015-03-19 06:14:40