" must be output to the tape and the TM must be put into the halt state. A second test consists in checking whether m > n or m < n, which is again performed by the Comp program. In the second case (m < n), the TM must output [m/n] = 0 and r = 0, and then halt. In the first case (m > n), the TM must Algorithmic entropy and Kolmogorov complexity compute the value of the quotient [m/n] > 1. Computing [m/n] is a matter of iteratively removing a string copy of n from m, while keeping count of the number of removals, k. This is equivalent to performing the subtraction m - n through the above-described program Sub0, iterated as many times (k) as the result of Subo is nonnegative. The remainder r is the number of 1s remaining in the original m field after this iteration. See Exercise 7.5 for a practical illustration of this algorithm. A key application of division concerns data conversion from unary to binary (or to decimal). It is a simple exercise to determine the succession of divisions by powers of two (or powers of ten) required to retrieve the digits (or decimals) of a given unary number. Similarly, multiplication and addition can be used to convert data from binary (or decimal) into unary. It is given as an exercise to determine an algorithm involving a succession of multiplications and additions necessary to perform such a conversion, given a binary (or decimal) number. The key conclusion is that both input and output TM tapes can be formatted into any arbitrary M-ary number representation (assuming that the head has the capability to read/write the corresponding M symbol characters), while the unary system is used for the TM computations. The TM is, thus, able manage all number representations for input and output, which illustrates that it is a truly fundamental computing machine, as we may realize increasingly through the rest of this chapter. It is most recommended to explore the previously referenced Internet sites, which present live TM simulators, and thus make it possible to visualize that Turing machine 