gpt4 book ai didi

c++ - 16 到 32 位整数转换与性能

转载 作者:行者123 更新时间:2023-11-30 03:17:55 26 4
gpt4 key购买 nike

我想从数组中加载 16 位无符号整数,并将这些值用于 C++ 中的 32 位无符号计算。我可以选择将值存储为 16 位数组(更少内存)或 32 位数组(更多内存消耗)。

我的代码应该可以用常见的 C++ 编译器编译,并可以在尽可能多的架构上运行。对于其中的许多组合,很难进行性能测量和汇编代码阅读,因此我要求进行理论考试。

换句话说:在什么情况下,16 位到 32 位无符号整数的转换通常会消耗 CPU 周期?我什么时候可以在不损失 CPU 周期的情况下使用内存减少的 16 位数组?

最佳答案

我认为所有主要架构都支持从带符号扩展和零扩展的内存加载。 x86、ARM 和 MIPS 肯定有这样的加载指令。旧架构和原始微 Controller ,尤其是 8 位和 16 位微 Controller ,可能没有这样的指令,因此可能需要多条指令才能获得相同的结果。如果你没有提到这些,你可能并不真正关心。因此,只需编写可移植的 C/C++ 代码即可。

关于c++ - 16 到 32 位整数转换与性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55111864/

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