【发布时间】:2015-05-22 02:32:40
【问题描述】:
以十六进制格式声明大小的数组有什么好处? 编译器是否比十进制数字更快地将十六进制转换为二进制?
例如:
int array [0x1480];
int array0[5248];
sizeof(array)/sizeof(*array) == sizeof(array0)/sizeof(*array0) //simply a true statement
【问题讨论】:
-
一点也不。这纯粹是一个程序员认为十六进制表示法以某种方式提高了可读性。
-
@aruisdante 发布与答案相同的帖子!
-
由于编译器必须为十六进制常量处理 6 个字符,而为十进制常量只处理 4 个字符,处理十六进制将比处理十进制稍微慢一些(但无法衡量)。但是,这两种表示法都没有“真正的”性能优势。这对程序员来说是一个符号方便的问题。据推测,十六进制常量是比十进制更好的选择是有原因的(尽管不清楚为什么选择该值,无论是十六进制还是十进制)。