gpt4 book ai didi

bit-manipulation - 将负符号添加到无符号的更快方法

转载 作者:行者123 更新时间:2023-11-29 08:22:32 24 4
gpt4 key购买 nike

假设我有 a: usize 和一个负数 b:isize 我如何实现以下语义 - 将 a 减去 b 的绝对值 以最快的方式?

我已经想到了a - (b.abs() as usize),但我想知道是否有更快的方法。也许是位操作的东西?

最佳答案

为什么您认为这很慢?如果将该代码放入一个函数中并编译,在 x86-64 linux 上,它会生成以下内容:

_ZN6simple20h0f921f89f1d823aeeaaE:
mov rax, rsi
neg rax
cmovl rax, rsi
sub rdi, rax
mov rax, rdi
ret

这是假设它没有被内联...我不得不为此工作了几分钟以阻止优化器为了获得上述内容而这样做。

这并不是说它绝对不能做得更快,但我不相信它可以做得更快很多

关于bit-manipulation - 将负符号添加到无符号的更快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30799885/

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