In 1854, the English mathematician George Boole introduced two-valued system known as Boolean algebra. In such a system, a mathematical formula can be transformed into a symbolic form, known as Boolean expression, which can be evaluated into a combination of 0's and 1's. In 1938, the American mathematician Claude Shannon showed that a Boolean expression can be implemented in terms of Relays and Switching Circuits. Thus, the connection among mathematics (formulea can be transformed into equivalent Boolean expressions), numbers (can be converted into binary numbers or encoded into equivalent forms in terms of 0's and 1's), and hardware means (Relays and Switching Circuits which evolved later into transistors, gates, integrated circuits, etc.) is made possible. Such connection opened the door for many inventions specially in the computer science field. Just adapt a particular code, transform the formula of the operation due to be implemented into equivalent Boolean expression (i.e., obtain the input-output relations for that operation) according to the chosen code, and draw the logic diagram for the required hardware accordingly. More complicated operations, as multiply operation, are implemented in terms of simpler operations, as repeated addition, which means that-in additional to Boolean algebra, codes, and hardware tools-there is another factor, namely the algorithmic factor that must be considered at the design of a multi-functional computer system. Indeed, Boole-Shannon bridge between mathematics and electronics is a gigantic step in the history of digital computer but it is not trouble-free. Specifically, it led to the domination of the binary property (characteristic) over the properties of the digital systems according to numbers are usually represented. In addition, in spite of that there are many codes and many algorithms known in the art, there is no code-algorithm combination that is good for all arithmetic operations. For example, the r's complement representation is good for the add and subtract operations but is not as good for the multiply or divide operation.
Concerning the general methodology mentioned above, this invention is no exception, i.e., a particular code is adapted and many computer tools are accordingly designed. However, the objective of the invention is to avoid the problems mentioned above by introducing a digital computer based not only on the binary property but also on two general properties of the digital systems (binary, ternary, etc.) so that arithmetic operations can be implemented according to a particular procedure that is good for all such operations with at least the same simplicity of the pure binary computer and with no need for radix conversions.