📜  为各种运算设计有限自动机,如 1 的补码、2 的补码

📅  最后修改于: 2021-09-27 14:55:14             🧑  作者: Mango

有限自动机(FA)中的传感器意味着带有输出的 FA。
有两种类型的带有输出的 FA 机器。

1. 磨粉机:
在 FA 中,输出与每个转换相关联。 (这意味着输出取决于状态和输入)。
2.摩尔机:
在 FA 中,输出与每个状态相关联。 (这意味着输出仅取决于状态)。

通过使用这些机器,我们可以为各种操作设计有限自动机,例如:-

  • 1 的补码。
  • 2 的补码。
  • 二进制全加器。
  • 增加 1。
  • 更改符号位。
  • 整数整除测试器。
  • 逻辑函数(XOR、OR、AND、NOT)。
  • 当前位和前一位等的总和。

1. 1 的补码:

使用 Mealy Machine 进行设计的逻辑 –

  • 对于输入 0,输出为 1。
  • 对于输入 1,输出为 0。
    所以它只需要一种状态。

1 的补充粉磨机

2. 2 的补码:

算法 –

  • 从输入的 LSB 开始。
  • 按原样复制该位,直到第一个“1”出现。
  • 之后,对每一位进行补码。

例子 –

从输入的 LSB 开始

按原样复制该位,直到第一个“1”出现

补充每一位

使用 Mealy Machine 进行设计的逻辑 –

  • 从输入的 LSB 获取输入。
  • 对于每个输入直到,第一个 1 输出与输入相同。
  • 之后,对于每个输入,使用 1 的补码机对每个位进行补码。

所以,它需要2个状态。一种输出与输入相同的状态,另一种状态是 1 的补码状态。

2’s 补粉机

3.二进制全加器:
二进制全加器将 2 个二进制位和进位输入相加,生成和输出和进位输出。

二进制全加器的工作 –

为了设计一个二进制全加器,我们使用这个表。根据这个表有两种情况 (carry=0 and Carry=1) ,所以我们需要两种状态。

根据表设计机器的其余部分。看起来像 –

二进制全加器 Mealy Machine

4. 增加 1 :
递增 1 表示二进制数加 1。
加1操作有两种情况

设计机器的逻辑 –

以 1 台 Mealy Machine 为增量

5. 改变符号位:

更改符号位 Mealy Machine

6. 整数整除测试器:

例子 –
3 Divisibility Tester Machine与字符串mod 3=0 的十进制值的有限自动机相同,输出状态为

3 可分性测试仪摩尔机

7. 逻辑函数(XOR、OR、AND、NOT):

用于不同逻辑功能的 Mealy 机器

8. 当前位与前一位之和:

当前位与前一位之和