【问题标题】:Generating Binary Inputs in C在 C 中生成二进制输入
【发布时间】:2013-01-28 18:05:35
【问题描述】:

基本上,我有一个包含八个变量的程序。我正在尝试检查这八个变量的每个真值组合,因此我需要一个使用 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 中实现这一点? 我已经打开了一个要写入的文件,但我不知道如何...逻辑上这样做。

【问题讨论】:

  • 如果你想象各个位是一个数字的二进制数字,你能发现一个模式吗?
  • 这……很明显。谢谢。
  • @KalîlÁrmstrøng 哦,好吧。我以为你无法实现它......我没有意识到你不知道这些只是二进制中的自然数。对不起。

标签: c binary truthtable


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2010-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-25
      • 2021-02-07
      • 2010-12-08
      相关资源
      最近更新 更多