我想读64kb的数据块。 通常情况下,实际所需的数据不是这个大小,例如2760字节。 我不知道是否有一个简单的计算,我可以用来读64kb或多个它。 我希望我能解释得很好。
感谢您的帮助。
做四舍五入你可以使用公式
int rounded_size = (size + BLOCK_SIZE - 1) / BLOCK_SIZE * BLOCK_SIZE;
如果块大小也是二的幂这可以简化为
int rounded_size = (size + BLOCK_SIZE - 1) & ~(BLOCK_SIZE - 1);
要找到块的数量,你可以使用
int blocks = (size + BLOCK_SIZE - 1) / BLOCK_SIZE;
要么
int blocks = (size + BLOCK_SIZE - 1) >> BLOCK_BITS;