本质上,我有一个包含八个变量的程序。我正在尝试检查这八个变量的每个真值组合,因此我需要一个使用 0 和 1 的真值表来证明它们的每个组合。这些输入将被读入程序。
它应该看起来像:
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 0 1 0
0 0 0 0 0 0 1 1
等等...
我将如何在 C 中实现这一点?我已经打开了一个文件进行写入,但我不知道如何......逻辑上这样做。
本质上,我有一个包含八个变量的程序。我正在尝试检查这八个变量的每个真值组合,因此我需要一个使用 0 和 1 的真值表来证明它们的每个组合。这些输入将被读入程序。
它应该看起来像:
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 0 1 0
0 0 0 0 0 0 1 1
等等...
我将如何在 C 中实现这一点?我已经打开了一个文件进行写入,但我不知道如何......逻辑上这样做。
将每个十进制数直到 2^8 转换为相应的二进制数......你有所需的模式......
两个循环和字符'0'
绰绰有余......
FILE *f = fopen("truth.txt", "w"); // we'll alter the truth...
assert(f != NULL);
unsigned i;
int j;
for (i = 0; i < 256; i++) {
for (j = 0; j < 8; j++) {
fprintf(f, "%c ", '0' + ((i >> (7 - j)) & 1));
}
fprintf(f, "\n");
}
fclose(f);