gpt4 book ai didi

c++ - 一种不使用 if 语句评估阈值的方法

转载 作者:行者123 更新时间:2023-11-28 04:47:21 25 4
gpt4 key购买 nike

我从一个来源获取数据,如果该值高于 2^13 (8192),则这些值实际上是负数。有没有一种方法可以在不使用 if 语句的情况下执行以下转换,例如:

int data[SIZE]
for (int i=0; i<SIZE; i++)
if (data[i] > 8191)
data[i] = data[i]-16384;

int data[SIZE]
for (int i=0; i<SIZE; i++)
if (data[i] > 8191)
data[i] = ~(data[i] + 1 8292;

如果能在不增加运行时间超过 O(n) 的情况下消除 if 语句,我们将不胜感激。

最佳答案

没有。 IF 语句是计算机的基本操作之一。为了让它们变得非常、非常快,已经付出了很多努力。

不要过早地浪费时间进行微优化。

编写您的应用程序,然后配置文件、配置文件、配置文件。一旦您掌握了有关应用程序缓慢位置的硬数据,就花时间优化那个.

关于c++ - 一种不使用 if 语句评估阈值的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49011342/

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