什么是可以生成所有计算的最小数学运算符集?

我正在考虑一个最小指令集CPU,比如十个或更少的操作码.我想找到仍然可以执行任何通用功能的最小数学运算代码集.

例如,在逻辑中,运​​算符AND,OR,NOT是冗余的.您可以使用其他两个函数计算任何函数,因此最小逻辑运算符集只需要两个.

对于算术函数,我可以使用两个操作码,可能是ADD和逐位反转吗?
(假设进位和进位执行指令).

使用ADD和BITINV,我可以在没有显式SUB运算符的情况下进行减法.乘法和除法是加法和减法的简单扩展. SHL乘以2,SHR除以2.

为了覆盖逻辑和算术,它看起来像AND,BITINV,ADD是一个完整的最小集合.我错过了什么吗?

最佳答案 您可能还需要包含控制指令(如条件和跳转)以使指令集图灵完成(或者您的指令集应该能够构建所有
computable functions).

例如,在你的问题中,

Multiplication and division are easy extensions from addition and
subtraction

没有循环和条件的概念,这是不正确的(考虑例如用于除法的欧几里德算法).你必须在某个地方进行循环才能进行划分.

点赞