【问题标题】:Binary to standard digit?二进制转标准位?
【发布时间】:2011-04-22 12:39:15
【问题描述】:

我将在Minecraft 中制作a computer。我了解如何构建一台可以进行二进制运算的计算机,但我希望输出显示为标准整数。您如何将二进制文件“转换”为标准数字?有图表吗?并且数字将像旧计算器一样显示;有 7 行。

 --
|  |
 --
|  |
 --

【问题讨论】:

  • 非常令人印象深刻的视频。添加一些控制逻辑、一个程序计数器、一些寄存器和一个带有程序的 ROM,您就拥有了一台最小的计算机。

标签: binary decimal calculator minecraft


【解决方案1】:

在电子产品中,您需要的是所谓的“二进制到二进制编码的十进制”转换器。 “二进制编码的十进制”是在 7 段显示器上产生数字所需的一组位。 Here's a PDF 描述其中一种芯片的工作原理。 PDF 的第 3 页显示了进行转换所需的真值表以及在硬件中实现它的所有 NAND 门的图片。您可以使用真值表来构建程序所需的布尔表达式集。

【讨论】:

    【解决方案2】:
    0 = 0
    1 = 1
    10 = 2
    11 = 3
    100 = 4
    101 = 5
    110 = 6
    111 = 7
    ...
    

    你看到模式了吗?这是公式:

    number = 2^0 * (rightmost digit)
           + 2^1 * (rightmost-but-1 digit
           + 2^2 * (rightmost-but-2 digit) + ...
    

    【讨论】:

    • 我也是这么想的……但不知何故,我认为这不是他想要的。他足够聪明,可以制造一台进行二进制加法的机器......如果你看视频,他也知道如何读取数字;)
    【解决方案3】:

    也许您正在寻找的内容称为 BCD 或二进制编码的十进制。有一张图表和一张卡诺图,已经使用了几十年。一个快速的谷歌搜索给了我这个技术页面 http://circuitscan.homestead.com/files/digelec/bcdto7seg.htm

    您是如何尝试构建计算机的? 也许这个关键词至少可以帮助你找到你需要的东西。 :)

    【讨论】:

      【解决方案4】:

      您的问题有两个部分:

      1. 将二进制数转换为数字,即进行二进制到BCD的转换。

      2. 将一个数字转换为一组要激活的段。

      对于后者,您可以使用a table that assigns the bitmap of active segments to each digit

      【讨论】:

        【解决方案5】:

        我认为这是两个不同的问题。

        没有内置的“0/1 二进制字符串”到整数转换 - 您通常只需编写自己的循环遍历字符串并检测 2 的每个幂。

        您还可以编写自己的 7 段 LED 显示屏 - 这有点棘手,因为它位于多行上,但会是一个有趣的 excersize。

        另外,大多数 GUI 都有 LCD 字体,Qt 肯定有

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-12-01
          • 1970-01-01
          • 2017-05-22
          • 2012-06-04
          • 1970-01-01
          • 2023-04-07
          • 2018-09-15
          • 2018-08-26
          相关资源
          最近更新 更多