当前位置: 首页 > 知识库问答 >
问题:

在for循环中迭代所有无符号整数

梁嘉澍
2023-03-14
for (unsigned i = 0; i < UINT_MAX; i++) {
     f(i);
}

我可以吃我的蛋糕(用于循环),也可以吃它(迭代所有整数)吗?

共有1个答案

姬飞昂
2023-03-14

您可以使用do-while循环来完成此操作,但您会失去for语法的所有细节。

通过使用匿名块作用域,do-while循环仍然可以执行此操作:

{
    unsigned i = 0;
    do { f(i); } while (++i != 0);
}

虽然这个构造可能不是最惯用的,但它显然是清晰的汇编代码的候选者。例如,gcc-o将其编译为:

.L2:
        mov     edi, ebx   ; ebx starts with zero
        call    f
        add     rbx, 1
        cmp     rbx, rbp   ; rbp is set with 4294967296
        jne     .L2
 类似资料:
  • 我正在尝试使用For循环将一个随机整数(0-2)添加到一个变量中指定的次数。我遇到的问题是,循环不是每次循环时都使用一个新的随机数,所以,如果我输入9,我只能得到0、9,或者18。 我希望一个对象返回的键“a”和“b”具有不同的数值。

  • 在Django模板中,我想创建一个遍历列表的for循环。在循环过程中,我还希望能够使用循环的迭代次数。 例如,如果有4个元素,那么: 应打印以下内容: 我该怎么做呢?

  • 问题内容: 我在显示日期的django模板中有以下for循环。我想知道是否有可能在循环中迭代一个数字(在以下情况下为i)。还是我必须将其存储在数据库中,然后以days.day_number的形式查询? 问题答案: Django提供了它。你可以使用以下任一方法: 索引从1开始。 索引从0开始。 在模板中,你可以执行以下操作:

  • 在django模板中,我有以下for循环显示天数。我想知道是否有可能在循环中迭代一个数字(在下面的例子I中)。或者我必须将其存储在数据库中,然后以天的形式进行查询。第几天?

  • 问题内容: 我想了解更多有关的信息,所以如果我错了,请纠正我。 迭代器是一个对象,该对象具有指向下一个对象的指针,并作为缓冲区或流(即,链表)读取。它们特别有效,因为它们所做的只是通过引用而不是使用索引来告诉您下一步是什么。 但是我仍然不明白为什么会发生以下行为: 经过迭代器()的第一个循环后,就好像它已被消耗并且留空,因此第二个循环()不输出任何内容。 但是,我从未为变量分配新值。 循环幕后到底

  • 我正在尝试根据“ExpectedDate”和“ObservedDate”填充“FinalDate”。 规则是:对于每个组,如果观察日期大于前一个预期日期且小于下一个预期日期,则最终日期等于观察日期,否则最终日期等于预期日期。 如何修改下面的代码以确保: 最终日期按组填写 迭代次数不跳过任何行 例如,在下面的输出中: 当i=90时,代码在字母I中查找之前的预期日期 我们希望它只在字母J中查找Expe