Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用C语言生成二进制输入_C_Binary_Truthtable - Fatal编程技术网

用C语言生成二进制输入

用C语言生成二进制输入,c,binary,truthtable,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^8为止。。。 而且您有所需的模式….两个循环和字符'0'就

基本上,我有一个有八个变量的程序。我试图检查这八个变量的每一个真值组合,因此我需要一个使用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);
FILE*f=fopen(“truth.txt”,“w”);//我们会改变真相。。。
断言(f!=NULL);
未签名的i;
int j;
对于(i=0;i<256;i++){
对于(j=0;j<8;j++){
fprintf(f,,%c,'0'+((i>>(7-j))&1));
}
fprintf(f,“\n”);
}
fclose(f);

如果你想象单个位是一个数字的二进制数字,你能找出一个模式吗?这。。。很明显。谢谢你。@KalîlÁrmstrøng哦,好吧。我以为你就是不能实现它。。。我不知道你不知道这些只是二进制的自然数。很抱歉