在C中生成二进制输入

时间:2013-01-28 18:05:35

标签: c binary truthtable

基本上,我有一个有八个变量的程序。我试图检查这八个变量的每个真值组合,因此我需要一个使用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 个答案:

答案 0 :(得分:1)

将每个十进制数转换为2 ^ 8,转换为相应的二进制数... 你有所需的模式......

答案 1 :(得分:1)

两个循环和角色'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);