【问题标题】:How do i check if atleast one element of bitmap array is not zero?如何检查位图数组的至少一个元素是否不为零?
【发布时间】:2012-09-27 09:31:07
【问题描述】:

我不是在寻找 C 中的函数,宏会有所帮助。这就是我想使用位图的方式。 用法:

int bitmap;
if(bitmap != 0)
   do something
else
   do something  

假设位图变成了位图数组,我如何获得相同的结果(不进行函数调用)?

【问题讨论】:

  • 作业标签已被移除....!!!!!
  • “我不是在寻找 c 中的函数,宏会有所帮助” 你能解释一下这句话背后的原因吗?为什么不能使用函数?
  • 检查来自快速代码路径,我无法承受每个检查的函数调用开销。
  • 不用担心在 C 中调用函数的成本。如果您设置了适当的优化标志,编译器很可能会内联该函数。

标签: c arrays bitmap


【解决方案1】:

你可以遍历数组:

int i;
int non_zero_found = 0;
for (i = 0; i < sizeofthearray; ++i)
{
    if (array[i] != 0)
    {
        non_zero_found= 1;
        break;
    }
}
if (non_zero_found)
{
    // do something
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2012-08-06
    • 2013-12-27
    • 1970-01-01
    • 2018-07-28
    • 2018-03-21
    相关资源
    最近更新 更多