2015-03-19 43 views
1

用十六進制格式聲明數組的大小有什麼好處? 編譯器是否將十六進制轉換爲二進制比十進制數字更快?用十六進制數聲明一個數組

例如:

int array [0x1480]; 
int array0[5248]; 
sizeof(array)/sizeof(*array) == sizeof(array0)/sizeof(*array0) //simply a true statement 
+9

完全沒有。這完全是一個程序員相信十六進制符號以某種方式提高了可讀性。 – aruisdante 2015-03-19 03:35:46

+0

@aruisdante發表相同的答案! – CinCout 2015-03-19 05:56:18

+0

由於編譯器必須爲十六進制常量處理6個字符,但對於十進制常量只能處理4個字符,因此處理十六進制的處理將小於處理小數(但不可​​測量)。然而,這兩種表示法都沒有「真正的」性能優勢。這對程序員來說是符號方便的問題。據推測,有一個原因,爲什麼十六進制常量是一個比小數更好的選擇(雖然不明白爲什麼選擇該值,無論是十六進制還是十進制)。 – 2015-03-19 06:14:40

回答

0

不是。這完全是一個程序員相信十六進制符號以某種方式提高了可讀性。

-1

在C++一個const可以呈現爲十進制,八和六角文字。 詳情請參閱http://www.cplusplus.com/doc/tutorial/constants/

所以下面的數字是相同的:

5248 // decimal 
0x1480 // hex 
012200 // octal 
+0

這並沒有真正解決OP的問題,即如果在某些情況下使用十六進制文字* maters *。 – aruisdante 2015-03-19 06:28:11

+0

它表明它們是*相同*,你爲什麼認爲它不是答案? – Mine 2015-03-20 01:51:02

相關問題