在 C 中打印所有 32 位数字序列的函数

Function that prints all sequences of 32 digits in C

抱歉这个问题,但我正在尝试优化打印所有 32 位数字序列的 C 函数,这样序列中的每个数字都是 0 或 1,例如:

00000000000000000000000000000000 ... 01010101010101010101010101010101 ... 01000000010000000100000001000000

我确实想出了一个解决方案,但是它有3个for循环嵌套在一起,而且非常耗时,我想知道是否可以有一个更简单的算法。

感谢您的帮助

安德里亚

大家好,感谢您的回答:)最后我在您的帮助下使用了解决方案:

作废 binary_permutation(作废) {

unsigned int i=0;
char str[32];

do{
    itoa(i++, str, 2);

        printf("binary: %s\n", str);
}
while (i);

}

再次感谢

安德里亚

您可以使用递归或回溯,它可以为您省去嵌套循环的所有痛苦(是的,此功能需要时间 运行!) This article 很好地解释了这一点。 祝你好运!