gpt4 book ai didi

c++ - 修改数据流的最有效方法

转载 作者:行者123 更新时间:2023-11-28 01:09:49 25 4
gpt4 key购买 nike

我有一个 16 位值的流,我需要调整每个样本的 4 个最低有效位。每条短裤的新值都不同,但重复每 X 条短裤 - 本质上是用 ID 标记每条短裤。

有没有比 for 循环更快的小技巧?

更多详情我正在将文件从一种格式转换为另一种格式。目前使用 FILE* 实现,但如果有帮助,我可以使用特定于 Windows 的 API。

[while data remaining]
{
read X shorts from input
tag 4 LSB's
write modified data to output
}

除了批量操作之外,我想我正在寻找关于踩踏最后 4 位的最佳方法的意见。

  1. 右移 4,左移 4,|在新值(value)观中
  2. & 在我的零位中,然后 |在 1 位中
  3. 取模16,增加新值

我们现在只支持 win7(32 位或 64 位),因此硬件将是人们为此选择的任何东西。

最佳答案

如果您正在研究例如一个 32 位平台,你一次可以做 2 个。或者在现代 x86 等价物上,您可以使用 SIMD 指令一次对 128 位进行操作。

除此之外,没有任何微不足道的方法可以避免遍历整个数据集,因为这听起来像是您必须修改每个元素!

关于c++ - 修改数据流的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4010500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com