我正在阅读async file i/o。当写入文件时,Microsoft将bufferSize设置为4096字节,但是在读取它们时,它们使用[0x1000]。我知道,这就像将bufferSize设置为4096一样,可以溢出到4k块。我的问题是为什么他们会使用十六进制值而不是整数?

最佳答案

从实际的角度来看,没有区别。它们本质上是相同的值。但是,您可能知道,计算机往往会更好地处理2的幂。 0x1000倾向于比4096更清晰地呈现该想法。

这就是为什么要使用十六进制而不是十进制值分配标志值的相同原因。读者可以清楚地看到,它的值不是巧合的十六进制整数,而是有意的。就是说,当十六进制完全不相关时,请不要使用十六进制。

int numberOfCats = 0xA7;


希望有帮助!

10-07 18:38