小编Mat*_*ldt的帖子

有没有办法在没有分支的情况下将整数值限制在某个范围内?

只是出于好奇.如果我有类似的东西:

if(x < 0)
    x = 0;
if(x > some_maximum)
    x = some_maximum;

return x;
Run Code Online (Sandbox Code Playgroud)

有没有办法不分支?这是c ++.

附录:我的意思是装配中没有分支指令.这是一个MIPS架构.

c++ branch

21
推荐指数
3
解决办法
1万
查看次数

计算存储数字所需位数的最快方法是什么

我正在尝试优化一些打包和解包例程.为了进行打包,我需要计算存储整数值所需的位数.这是当前的代码.

if (n == -1) return 32;
if (n == 0) return 1;
int r = 0;
while (n)
{
    ++r;
    n >>= 1;
}
return r;
Run Code Online (Sandbox Code Playgroud)

c++ bits bit-manipulation

9
推荐指数
3
解决办法
7330
查看次数

你如何衡量分支错误预测的影响?

我目前正在分析二进制搜索的实现.使用一些特殊指令来衡量这一点,我注意到代码有大约20%的错误预测率.我很好奇是否有任何方法可以检查我可能因此丢失多少个周期.这是一个基于MIPS的架构.

c++ branch

9
推荐指数
1
解决办法
628
查看次数

标签 统计

c++ ×3

branch ×2

bit-manipulation ×1

bits ×1