gpt4 book ai didi

byte - 交换字节中的每对位

转载 作者:行者123 更新时间:2023-12-03 03:09:48 24 4
gpt4 key购买 nike

这是 NVIDIA 代表在招聘会上提出的问题:

编写小而高效的代码来交换字节内的每对位;例如,10 11 01 10 应变为 01 11 10 01

有没有比通过每个其他索引执行 for 循环更“有效”的方法来做到这一点?我的代码很小,但我无法想象这可能比循环“高效”多少...我猜可能有一种方法可以使用 XOR 来避免循环,但我不能弄清楚。

谢谢!

最佳答案

这样的东西应该有效

(i >> 1) & 01010101 + (i << 1) & 10101010

i >> 1 将所有内容向右移动 1 位,而 & 01010101 仅在偶数位置留下位。
第二部分处理相同方式中的奇数位位置。

但不确定它的效率如何。

关于byte - 交换字节中的每对位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4788799/

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