我想读取 64kb 块中的数据。通常,实际需要的数据并不完全是这个大小,例如 2760 字节。我不确定是否有一个简单的计算可以用来读取 64kb 或多个它。我希望我能解释清楚。
感谢您的帮助。
要进行四舍五入,您可以使用公式
int rounded_size = (size + BLOCK_SIZE - 1) / BLOCK_SIZE * BLOCK_SIZE;
如果块大小也是 2 的幂,则可以简化为
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;