gpt4 book ai didi

algorithm - 仅使用数学获取整数的 1、0、-1 作为正数、零或负数

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:13:52 27 4
gpt4 key购买 nike

我有一种情况,我正在对大量行执行计算,如果我可以避开条件语句,我真的可以提高性能。

我需要的是对于给定的正整数、零整数或负整数,我分别想要结果 1、0、-1。

所以如果我执行 col/ABS(col),我会得到 1 表示正数,-1 表示负数,当然如果 col等于 0 那么我会得到一个错误。我不会出错。

这看起来很简单,但我无法绕过它。

最佳答案

假设 2 的补码是 32 位整数,或者 1 的补码没有负零需要担心,那么下面的方法运行良好:

(x>>31) - (-x>>31);

对于 64 位整数,将 31 替换为 63,依此类推。

关于algorithm - 仅使用数学获取整数的 1、0、-1 作为正数、零或负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26635250/

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