在 C 语言中计算需要是 32 位倍数的 8 位数据的填充量的最有效方法是什么?
目前我是这样做的:
pad = (4-size%4)%4;
最佳答案
只要优化编译器对 %4
使用位掩码而不是除法,我认为您的代码可能相当不错。这可能是一个轻微的改进:
// only the last 2 bits (hence & 3) matter
pad = (4 - (size & 3)) & 3;
但同样,优化编译器可能足够聪明,无论如何都可以将您的代码减少到这个程度。我想不出更好的了。
关于c - 计算填充字节数的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20844983/