假设你有一个32位无符号整数,其中字节举办这样的:a b c d。什么是这些字节扩展到64位无符号整数,以这种方式最快的方法: 0 a 0 b 0 c 0 d?它是为了x86-64架构。我想知道不使用特殊内在函数的最快方法,尽管这也很有趣。(我说'最快',但具有合理性能的紧凑解决方案也很好)。
a b c d
0 a 0 b 0 c 0 d
x86-64
为需要上下文的人编辑。这似乎是一项非常简单的工作,只需移动一些字节,但它需要的指令比您想象的要多(检查这个带优化的神箭)。因此,我只是想知道是否有人知道一种可以用更少的指令解决问题的方法。
c c++ performance low-level-code
c ×1
c++ ×1
low-level-code ×1
performance ×1