Patent GB-867191-A (GB)
Title: Improvements in apparatus for converting data in a first number system to one in a different number system, and more particularly for binary to decimal conversion, and vice versa
IPC: H03M7/12
Filed: 1958-10-03
Abstract: 867,191. Binary/decimal converters. GENERAL ELECTRIC CO. Oct. 3, 1958 [Oct. 7, 1957 (2)], No. 31629/58. Class 40 (1). [Also in Group XIX] A pure binary coded number is converted into a binary-coded decimal number by advancing the number step-by-step into a shift register S1-S12, Fig. 1, having a group of four stages for each decimal denomination and adding three to the value in any group when this value is five or more to correct for the impending error when a carry to the next denomination takes place. Since a " 1 " in the eight position of the decimal units group (say) should become 16 when advanced to the next binary stage, but when carried to the next decimal denomination it becomes " ten " only it is necessary to add six. This is added as three in the previous step when the presence of a value of five or more indicates that a carry to the next decade will take place on the next shift. A conversion from binary coded decimal to pure binary is effected similarly but with subtraction of three. In Fig. 1 the contents of the shift register S1-S12 are shifted by clock pulses on line 12 derived from a multivibrator 13. The pure binary number is applied serially at terminal 19, the steps of the conversion being shown in Fig. 3. In the top line the binary number (217) is taken to be wholly outside the register. In the next three steps the first three digits are shifted into the units decade producing a value of six. Since this exceeds four, three is added to make value nine. In the next shift these digits appear as one in tens decade and two in units decade, i.e. twelve, the previous value of six being correctly doubled. After the next shift the value in the units decade is again more than four and three is added. A further shift causes the value in the tens decade to exceed four and three is added before the next shift. This produces eight in the units decade and three is added before the final shift which brings the whole number into the register. The additions of three are performed by diode matrices 14, 15, 16 which simply change appropriate digits in the decade stages in accordance with the value already present. For example a binary value of 0110 (six) causes all stages to be changed to produce 1001 (nine). For this purpose combinations of the outputs from the four stages are gated together (Fig. 2, not shown) to produce change signals which are applied through Or gates to appropriate ones of the four stages. Operation of the diodes is initiated between shifts by " test " pulses on line 17 which alternate with the shift pulses on line 12. A pure binary number already in the register can be converted by switching the output terminal 11 to the input so that the number passes back into the register. The diode matrices are prevented from operating on the digits of the outgoing part of the number. A number expressed in the Gray code may be converted by first converting it to pure binary in converter 21. Reverse conversion.-A circuit. Fig. 4, similar to that of Fig. 1 performs the conversion from binary coded decimal to plain binary, the decimal number being introduced at 10 and shifted out of the register (left to right) by pulses on line 12. A digit moving from the " one " stage of the tens decade to the " eight " stage of the units decade gains three in value since what was ten becomes eight instead of five. To correct this three is subtracted whenever a one appears in the " eight " stage, i.e. whenever numbers 8, 9, 10, 11 or 12 are registered in a decade. This is achieved as before by simply changing the digits stored to produce a number less by three. E.g. 1000(8) becomes 0101(5) by changing the three digits. The switch 18 passes the-output from the register to an accumulator 20 or back into the shift register. In the latter case the diode matrices are prevented from operating upon the incoming part of the number.