为什么我们不能通过编程语言使用幅度比较器?
Why can't we use a magnitude comparator through programming languages?
我刚刚了解了幅度比较器电路。 MC 会用三位来表示:
m < n
m = n
m > n
到目前为止,我还没有遇到一种编程语言可以提供这样的操作。我也不记得那个的汇编声明。如果电路存在,是否有任何特定原因不向编程语言提供此类功能?
编程语言中也有类似的例子,例如strcmp()
and strcoll()
and memcmp()
in C return 小于、等于或大于零的数字,取决于它们的参数排序的顺序。
与 Perl 中类似,<=>
和 cmp
运算符 return -1、0 或 1,同样取决于哪个操作数较大([=13 的数值=], cmp
).
的字符串比较
当然,其中 none 会产生三个独立的位。 (只有三个选项,无论如何两位就足够了。) 数字 return 值使得通过仅测试输出而更容易进行 "greater or equal" 测试>= 0
。大多数程序主要处理数字,而语言和处理器使其变得简单,因此数字 return 并非无效,单个位的输出可能看起来不合适。
(当然我们可以用return值4、2和1定义这样一个比较函数,然后要求程序员使用符号常量或特殊测试函数将它们变成人类可以理解的术语.)
我刚刚了解了幅度比较器电路。 MC 会用三位来表示:
m < n
m = n
m > n
到目前为止,我还没有遇到一种编程语言可以提供这样的操作。我也不记得那个的汇编声明。如果电路存在,是否有任何特定原因不向编程语言提供此类功能?
编程语言中也有类似的例子,例如strcmp()
and strcoll()
and memcmp()
in C return 小于、等于或大于零的数字,取决于它们的参数排序的顺序。
与 Perl 中类似,<=>
和 cmp
运算符 return -1、0 或 1,同样取决于哪个操作数较大([=13 的数值=], cmp
).
当然,其中 none 会产生三个独立的位。 (只有三个选项,无论如何两位就足够了。) 数字 return 值使得通过仅测试输出而更容易进行 "greater or equal" 测试>= 0
。大多数程序主要处理数字,而语言和处理器使其变得简单,因此数字 return 并非无效,单个位的输出可能看起来不合适。
(当然我们可以用return值4、2和1定义这样一个比较函数,然后要求程序员使用符号常量或特殊测试函数将它们变成人类可以理解的术语.)