为什么我们不能通过编程语言使用幅度比较器?

时间:2017-05-20 05:12:23

标签: assembly low-level circuit

我刚刚了解了幅度比较器电路。 MC会用三位来表示:

m < n
m = n
m > n

到目前为止,我还没有编写一种可以提供此类操作的编程语言。我也记不起汇编声明了。如果电路存在,是否有任何特定的理由不为编程语言提供这样的功能?

1 个答案:

答案 0 :(得分:1)

编程语言中有类似的例子,例如: C中的strcmp()strcoll()以及memcmp()返回的数字小于,等于或大于零,具体取决于其参数排序的顺序。

类似地,在Perl中,<=>cmp运算符返回-1,0或1,同样取决于哪个操作数更大(数值为<=>,字符串比较为cmp)。

当然,这些都不会产生三个独立的位。 (只有三个选项,无论如何两位都足够了。)数字返回值通过仅使用>= 0测试输出,可以更轻松地进行“更大或相等”的测试。大多数程序主要处理数字,语言和处理器使它变得容易,因此数字返回不是无效的,并且单个位的输出可能看起来不合适。

(当然我们可以使用返回值4,2和1定义这样的比较函数,然后让程序员使用符号常量或特殊测试函数将这些函数转换为人类可理解的术语。)