2

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

 --
|  |
 --
|  |
 --
4

5 回答 5

3

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

于 2010-10-07T18:26:53.570 回答
1
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) + ...
于 2010-10-07T18:24:10.987 回答
1

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

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

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

或者,大多数 GUI 都有 LCD 字体,Qt 肯定有

于 2010-10-07T18:24:18.990 回答
1

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

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

于 2010-10-07T18:26:36.300 回答
1

你的问题有两个部分:

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

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

对于后者,您可以使用一个表格,将活动段的位图分配给每个数字

于 2010-10-07T18:38:30.787 回答