Abstract:
A divider circuit for dividing n-bit binary data L n  by a number m which is defined as m=2 a  -1 (a is a positive integer of 2 or more), wherein a division operation L n  /m is developed into an infinite series given as: ##EQU1## for L.sub.(n-ba) =L n  /2 ba  (where b is a positive integer). 
     The divider circuit includes a first circuit responsive to the binary data L n , for sectioning a decimal part of each term of the infinite series in a unit of a-bit from a most significant bit of the decimal part, and for summing corresponding a-bit sectioned portions of decimal parts of all terms of the infinite series to generate summed decimal parts, a second circuit for discriminating a carry to an integer part of the binary data L n  from the summed decimal parts, and a third circuit for adding the carry to a sum of integer parts of the binary data L n  to provide divided data corresponding to L n  /m.

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates to a divider circuit suitable for setting vertical addresses of color data in a system such as a character broadcast system or a caption system. 
     In a conventional character broadcast or caption system, a display screen is constituted by a dot matrix (248 horizontal pixels×204 vertical pixels). Coloring is, for example, performed in units of sub-blocks each having 8 horizontal pixels and 12 vertical pixels. Therefore, 8-bit X (horizontal) addresses 0 to 247 and 8-bit Y (vertical) addresses 0 to 203 are assigned to the display screen. When coloring is actually performed, quasi columns 0 to 30 along the horizontal direction and quasi rows 0 to 16 along the vertical direction are assigned to the sub-blocks. Each quasi column corresponds to eight horizontal pixels, and each quasi row corresponds to 12 vertical pixels. A dot pattern is read out from an image memory in units of eight horizontal pixels. Therefore, the dot pattern is designated in units of quasi columns 0 to 30 and Y addresses 0 to 203. Coloring is performed in units of sub-blocks, as described above, so that color data can be read out in units of quasi columns 0 to 30 along the horizontal direction but must be read out in units of 12-bit quasi rows along the vertical direction. Therefore, in order to prepare a Y address of color data, a quasi row converter is required wherein vertical addresses 0 to 203 having the dot pattern data are divided into units of 12 pixels and are converted to quasi rows 0 to 16. 
     The conventional sub-block as the unit of coloring comprises eight horizontal pixels and 12 vertical pixels. However, a minimization of a sub-block unit provides good coloring of display. From this, the preferred sub-block unit is expected to be smaller than that of the conventional sub-block. In this case, the Y addresses along the vertical direction of the screen must be quasi row-converted. If the quasi rows are arranged in units of two lines, four lines, or eight lines, and hence in units of 2 n  (n=1, 2, 3, . . . ), seven , six or five most significant bits of the 8-bit Y address can be easily quasi row-converted. However, if the quasi row is employed in units of three lines, six lines, nine lines, . . . , and hence in units of 3 n  (n=1, 2, 3, . . . ), the Y addresses must be quasi row-converted in units of three lines. With a combination of quasi row conversion in units of three lines and of two lines, all possible quasi row conversions such as two-, three-, four-, six-, eight-, nine- and 12-line quasi row conversions can be performed. In this case, two-line quasi row conversion can be easily performed by shifting each bit of the Y address. Therefore, it is important to consider the circuit configuration of a quasi row converter for performing quasi row conversion in units of three lines. 
     Table 1 below shows 8-bit Y addresses and their updated addresses obtained by quasi row-converting the 8-bit addresses in units of three lines. A quasi row converter for performing quasi row conversion in units of three lines will be described with reference to Table 1. 
     
                                           TABLE 1__________________________________________________________________________Y address            Quasi row-converted addressDecimal              Decimalnotationa.sub.7  a.sub.6    a.sub.5      a.sub.4        a.sub.3          a.sub.2            a.sub.1              a.sub.0                notation                     b.sub.6                       b.sub.5                         b.sub.4                           b.sub.3                             b.sub.2                               b.sub.1                                 b.sub.0__________________________________________________________________________ 0   0 0 0 0 0 0 0 0 1   0 0 0 0 0 0 0 1 0    0 0 0 0 0 0 0 2   0 0 0 0 0 0 1 0 3   0 0 0 0 0 0 1 1 4   0 0 0 0 0 1 0 0 1    0 0 0 0 0 0 1 5   0 0 0 0 0 1 0 1 6   0 0 0 0 0 1 1 0 7   0 0 0 0 0 1 1 1 2    0 0 0 0 0 1 0 8   0 0 0 0 1 0 0 0 9   0 0 0 0 1 0 0 110   0 0 0 0 1 0 1 0 3    0 0 0 0 0 1 111   0 0 0 0 1 0 1 112   0 0 0 0 1 1 0 013   0 0 0 0 1 1 0 1 4    0 0 0 0 1 0 014   0 0 0 0 1 1 1 015   0 0 0 0 1 1 1 116   0 0 0 1 0 0 0 0 5    0 0 0 0 1 0 117   0 0 0 1 0 0 0 118   0 0 0 1 0 0 1 019   0 0 0 1 0 0 1 1 6    0 0 0 0 1 1 020   0 0 0 1 0 1 0 021   0 0 0 1 0 1 0 122   0 0 0 1 0 1 1 0 7    0 0 0 0 1 1 123   0 0 0 1 0 1 1 124   0 0 0 1 1 0 0 025   0 0 0 1 1 0 0 1 8    0 0 0 1 0 0 026   0 0 0 1 1 0 1 027   0 0 0 1 1 0 1 128   0 0 0 1 1 1 0 0 9    0 0 0 1 0 0 129   0 0 0 1 1 1 0 1246  1 1 1 1 0 1 1 0247  1 1 1 1 0 1 1 1 82   1 0 1 0 0 1 0248  1 1 1 1 1 0 0 0249  1 1 1 1 1 0 0 1250  1 1 1 1 1 0 1 0 83   1 0 1 0 0 1 1251  1 1 1 1 1 0 1 1252  1 1 1 1 1 1 0 0253  1 1 1 1 1 1 0 1 84   1 0 1 0 1 0 0254  1 1 1 1 1 1 1 0255  1 1 1 1 1 1 1 1                85   1 0 1 0 1 0 1__________________________________________________________________________ P A three-line quasi row conversion can be exemplified using a read-only memory (ROM). An 8-bit Y address is regarded as a ROM address, and a quasi row-converted address of data is written in the ROM. More particularly, 7-bit addresses b.sub.6 b.sub.5 b.sub.4 b.sub.3 b.sub.2 b.sub.1 b.sub.0 obtained by quasi row conversion as data corresponding to addresses 0 to 255, each of which consists of 8-bit data a.sub.7 a.sub.6 a.sub.5 a.sub.4 a.sub.3 a.sub.2 a.sub.1 a.sub.0, are written in the ROM. 
    
     However, in order to form an integrated system including a quasi row converter, the quasi row converter having the ROM requires 1792 (=256×7) memory cells and a corresponding Y address decoder. Therefore, the above quasi row converter requires a large amount of hardware and is not suitable for an IC. 
     Another exemplification of quasi row conversion in units of three lines is a logic converter for performing the conversion shown in Table 1. Bits b 0  to b 7  of the quasi row-converted address can be designated by logic expressions using bits a 0  to a 7  of the Y address as follows: ##EQU2## PG,7 
     The logic expressions for bits b 1  and b 0  are omitted since they are too long. As will be apparent from the above description, when the quasi row converter for performing quasi row conversion in units of three lines comprises a logic circuit, the amount of hardware is greatly increased as in the case of the quasi row converter using ROM. These conventional quasi row converters are not suitable for an IC. 
     SUMMARY OF THE INVENTION 
     The present invention has been made in consideration of the above situation and has for its object to provide a divider circuit which can be constructed using a small amount of hardware, to quasi row-convert vertical addresses of a display screen in a system such as a character broadcast system and a caption system. 
     According to the present invention, a division operation L n  /m is developed into the following infinite series in order to divide an n-bit binary number L n  by m (for m=2 a  -1 where a is a positive integer of 2 or more): ##EQU3## for L.sub.(n-ba) =L n  /2 ba  (where b is a positive integer) 
     Decimal parts of all the terms of this infinite series are summed and are rounded to give a carry to an integer part. The rounded value or carry is added to the sum of the integer parts of the infinite series. 
     According to the present invention, there is provided a divider circuit having only a small amount of hardware for quasi row conversion of the vertical addresses of a display screen. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a diagram for explaining designation of addresses in a character broadcast system or the like; 
     FIG. 2 is a block diagram of a divider circuit according to a first embodiment of the present invention; 
     FIG. 3 is a circuit diagram of a discriminator 14 shown in FIG. 2; 
     FIG. 3A is a modification of the circuit shown in FIG. 3; 
     FIG. 4 is a block diagram of a divider circuit according to a second embodiment of the present invention; 
     FIGS. 5A to 5M are timing charts of switching and latch pulses generated by a pulse generator 28 shown in FIG. 4; 
     FIG. 6 is a circuit diagram of the pulse generator 28 shown in FIG. 4; 
     FIG. 7 is a circuit diagram having a switch circuit 21 shown in FIG. 4; and 
     FIG. 8 is a circuit diagram of a switch circuit 25 shown in FIG. 4. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Preferred embodiments of the present invention will be described with reference to the accompanying drawings. 
     For illustrative convenience, a dividend is given as an 8-bit binary number L n  (=L 8 ), and a divisor is given as m=3 (=2 a  -1=2 2  -1). Assume that L n  /m is given as L 8  /3. Also assume that an 8-bit Y address L 8  is given as follows: 
     
         L.sub.8 =a.sub.7 a.sub.6 a.sub.5 a.sub.4 a.sub.3 a.sub.2 a.sub.1 a.sub.0 
    
     where a 0  to a 7  are bits of binary Y address L 8  and are designated by logic &#34;0&#34; or &#34;1&#34;. Bit a 0  is the least significant bit, and bit a 7  is the most significant bit. 
     In order to quasi row-convert the Y address L 8  in units of three lines, Y address L 8  is divided by three to obtain a quotient. The quotient L 8  /3 is given as follows: ##EQU4## The term L 8  /4 indicates that a decimal point of Y address a 7  a 6  a 5  a 4  a 3  a 2  a 1  a 0  is shifted by two digit positions to the left (upper bits). An updated address is thus designated as a 7  a 6  a 5  a 4  a 3  a 2 .a 1  a 0 . Therefore, the term L 8  /4 has an integer part of six digit positions. When this integer part is expressed as L 6 , equation (1) is expressed as follows: 
     
         L.sub.8 3=L.sub.6 +L.sub.6 /3                              (2) 
    
     The same operation as for the term L 8  /3 is performed for the term L 6  /3, and the following result is obtained: ##EQU5## The above operation is repeated to obtain the following equation: ##EQU6## The term L 8  /3 can thus be developed into the infinite series L 6  +L 4  +L 2  +L 0  + . . . . The terms L 6 , L 4 , L 2 , L 0 , . . . are obtained by shifting the decimal point of binary Y address L 8  (=a 7  a 6  a 5  a 4  a 3  a 2  a 1  a 0 ) in units of two digit positions to the left. More particularly, these terms are expressed as follows: ##EQU7## 
     The term L 8  /3 obtained by quasi row-converting Y address L 8  can be calculated as a sum of the following infinite series: ##EQU8## 
     When the sum of this infinite series is calculated, the number to the right of the decimal point can be asymptotically obtained from the total of asymptotic terms, each of which term is obtained by adding four prescribed 2-bit items of data by four times as: ##EQU9## 
     When the sum is given as X 3  X 2  X 1  X 0 , the carry value of each asymptotic term to be added to the integer part can be determined from the value of X 3  XHD 2X 1  X 0 . As a result, a carry to the integer part is determined. Bits a 0 , a 1 , a 2 , a 3 , a 4 , a 5 , a 6  and a 7  are designated by logic &#34;1&#34; or &#34;0&#34;. However, 13 types of sum results X 3  X 2  X 1  X 0  may be obtained as combinations of sums of the four 2-bit data for each asymptotic term, as shown in Table 2. For example, when all bits a 0  to a 7  are set at logic &#34;0&#34;, X 3  X 2  X 1  X 0  is set at &#34;0000&#34;. However, when all bits a 0  to a 7  are set at logic &#34;1&#34;, X 3  X 2  X 1  X 0  is set at &#34;1100&#34;. 
     
                       TABLE 2______________________________________X.sub.3 X.sub.2         X.sub.1                         X.sub.0______________________________________0       0               0     00       0               0     10       0               1     00       0               1     10       1               0     00       1               0     10       1               1     00       1               1     11       0               0     01       0               0     11       0               1     01       0               1     11       1               0     0______________________________________ 
    
     Carry Y 2  Y 1  Y 0  to the integer part is obtained in accordance with 13 types of logic combinations. ##EQU10## 
     In the same manner as described above, the remaining values of carry Y 2  Y 1  Y 0  are sequentially obtained from X 3  X 2  X 1  X 0 , and the results are shown in Table 3. 
     
                       TABLE 3______________________________________X.sub.3 X.sub.2         X.sub.1   X.sub.0                       Y.sub.2  Y.sub.1                                    Y.sub.0______________________________________0       0     0         0   0        0   00       0     0         10       0     1         00       0     1         1   0        0   10       1     0         00       1     0         10       1     1         0   0        1   00       1     1         11       0     0         01       0     0         1   0        1   11       0     1         01       0     1         11       1     0         0   1        0   0______________________________________ 
    
     In this case, note that 0.111111 . . . =1.0. When carry Y 2  Y 1  Y 0 , which is the carry value from the decimal part, to the integer part is obtained, the integer parts of the terms of the series are summed and the carry is added to the resultant sum to obtain L 8  /3 which corresponds to the value obtained by quasi row-converting the Y address L 8 . 
     The present invention is based upon the above principle. The configuration of the divider circuit will be described hereinafter with reference to FIG. 2. Reference numerals 11 and 12 denote 2-bit full adders, respectively; B 13 and 15, 3-bit full adders, respectively; 16, a 6-bit full adder; 17, a 7-bit full adder; and 14, a discriminator for discriminating a carry from a decimal part to an integer part. 
     The operation of the divider circuit will be described hereinafter. Full adders 11, 12 and 13 perform additions of decimal parts as follows: ##EQU11## 
     More particularly, 2-bit data a 7  a 6  is added to 2-bit data a 5  a 4  by full adder 11. Two-bit data a 3  a 2  is added to 2-bit data a 1  a 0  by full adder 12. Sum data from full adders 11 and 12 are added by full adder 13, thereby obtaining the sum X 3  X 2  X 1  X 0  of the decimal parts. Carry Y 2  Y 1  Y 0  to the integer part is obtained by discriminator 14. Discriminator 14 performs a carry discrimination in accordance with the following logic expressions: ##EQU12## 
     Discriminator 14 for satisfying the above logic expressions may comprise seven AND gates 14A to 14G, two OR gates 14H and 14I, and three inverters 14J to 14L, as shown in FIG. 3. Data X 3  is supplied to AND gates 14A, 14B, 14D and 14G. Data X 2  is supplied to AND gates 14A, 14C and 14E. Data X 1  is supplied to AND gates 14C, 14D and 14F. Data X 0  is supplied to AND gates 14F and 14G. Data X 3  is supplied via an inverter 14J to AND gate 14E; data X 2 , via an inverter 14K to AND gates 14B, 14D, 14F and 14G; and data X 1 , via an inverter 14L to AND gate 14E. An ANDed output from gate 14A is used as said carry Y 2 . ANDed outputs from gates 14B and 14C are converted to said carry Y 1  via an OR gate 14H. ANDed outputs from gates 14D to 14G are converted to said carry Y 0  via an OR gate 14I. 
     Carry Y 2  to Y 0  obtained from discriminator 14 and integer data a 7  to a 2  are supplied to full adders 15 to 17. Full adders 15 to 17 perform a carry operation and addition of integer data. More specifically, carry Y 2  Y 1  Y 0  to the integer digit position is added to the integer part of address L 2  by full adder 15. The integer part of address L 6  is added to that of address L 4  by full adder 16. Sum data from full adders 15 and 16 are added by full adder 17. Full adder 17 thus produces 7-bit data b 6  b 5  b 4  b 3  b 2  b 1  b 0  (i.e., data obtained by quasi row-converting an 8-bit Y address). Discriminator 14 may have another configuration, e.g., as shown in FIG. 3A. 
     According to this embodiment, three-line quasi row conversion can be performed by six full adders 11 to 13 and 15 to 17 and discriminator 14 for discriminating the carry to the integer digit position. Therefore, the quasi row converter according to the present invention requires only a small amount of hardware and can be easily integrated as an IC unlike the conventional quasi row converter. 
     FIG. 4 is a block diagram of a divider circuit according to the second embodiment of the present invention. Reference numerals 21 and 25 denote switch circuits for switching given data supplied to adders, respectively; 22, a 4-bit full adder for adding the decimal parts, 26, a 7-bit full adder for adding integer parts and a carry to the integer part; 23 and 27, latches for latching sum data, respectively; 14, a discriminator for discriminating the carry to the integer digit position; and 28, a pulse generator for supplying switching pulses SP1 to SP5 to switch circuits 21 and 25 and latch pulses LP1 to LP5 to latches 23 and 27. 
     The decimal parts are added by means of switch circuit 21, 4-bit full adder 22, and latch 23. Four 2-bit data element a 1  a 0 , a 3  a 2 , a 5  a 4  and a 7  a 6  are sequentially switched by switch circuit 21 to thereby supply them as signals E21B1 and E21B2 to full adder 22. For this purpose, pulses SP1, SP2, SP3 and SP4 are used as the switching pulses. The resultant sum data are sequentially latched by latch 23 in response to latch pulses LP1, LP2, LP3 and LP4, respectively. The sum results latched in response to latch pulse LP4 are supplied as sum X 3  X 2  X 1  X 0  of four 2-bit data a 1  a 0 , a 3  a 2 , a 5  a 4  and a 7  a 6  to discriminator 14. Discriminator 14 has substantially the same configuration as that in FIG. 2 and produces carry Y 2  Y 1  Y 0  to an integer digit position. 
     Meanwhile, the integer parts of the terms of the series are added by means of switch circuit 25, 7-bit full adder 26 and latch 27. The integer digit positions of L 6  which are indicated by bits a 7 , a 6 , a 5 , a 4 , a 3  and a 2 , the integer digit positions of L 4  which are indicated by bits a 7 , a 6 , a 5 , and a 4 , and the integer digit positions of L 2  which are indicated by bits a 7  and a 6  are switched by switch circuit 25 and are sequentially supplied as signals E25B1 to E25B6 to full adder 26 in response to switching pulses SP2, SP3 and SP4. The sum results of the integer parts are sequentially latched by latch 27. Carry Y 2  Y 1  Y 0  to an integer digit position is supplied via switch circuit 25 to full adder 26 in response to switching pulse SP5. The preceding latched data is then added by full adder 26 to the carry from switch circuit 25. Total sum data is latched in response to latch pulse LP5, so that 7-bit data b 6  b 5  b 4  b 3  b 2  b 1  b 0  obtained by quasi row-converting Y address L 8  in units of three lines is latched. 
     FIGS. 5A to 5M are timing charts illustrating pulses applied to or generated from pulse generator 28. FIG. 6 shows a circuit configuration of generator 28. D type flip-flops (D-FF) 28A to 28F are reset and a 2-bit counter 28H is cleared by a reset pulse H.RESET (FIG. 5A). A clock is supplied to the clock (CK) input of counter 28H (FIG. 5B). In NTSC system, the period of pulse H.RESET is 63.5 μs (one horizontal period) and the frequency of clock is 5.73 MHz (8/5 f sc  where f sc  denotes the color subcarrier frequency. A Q 0  output from counter 28H is supplied to AND gates 28I and 28L. A Q 1  output from counter 28H is supplied to AND gate 28I and supplied via an inverter 28K to AND gate 28L. An ANDed output from gate 28I is supplied to an NAND gate 28J as well as to AND gates 28M to 28R. Gate 28J receives a Q output from D-FF 28F. An NANDed output from gate 28J clocks D-FFs 28A to 28F. Q outputs from D-FFs 28A to 28E are inputted to an NOR gate 28G. An NORed output from gate 28G is supplied to a D input of FF 28A. D inputs of FFs 28B to 28F receive Q outputs from FFs 28A to 28E, respectively. 
     AND gate 28L receives Q output from D-FF 28F and NORed output from gate 28G, and provides an ANDed output as the clear pulse CLP (FIG. 5C). Pulse CLP initializes latches 23 and 27 (FIG. 4). 
     Q outputs from D-FFs 28A to 28E are used as switching pulses SP1 to SP5 (FIGS. 5D, 5F, 5H, 5J and 5L). 
     Q outputs from D-FFs 28A to 28E are respectively supplied to AND gates 28M to 28R. ANDed outputs from gates 28M to 28R are used as latch pulses LP1 to LP5 (FIGS. 5E, 5G, 5I, 5K and 5M). 
     FIG. 7 shows a configuration of switch circuit 21 shown in FIG. 4. Data a 7 , a 5 , a 3  and a 1  are supplied to AND gates 21A, 21B, 21C and 21D, respectively. Gates 21A, 21B, 21C and 21D receive switching pulses SP4, SP3, SP2 and SP1, respectively. ANDed outputs from gates 21A to 21D are supplied to an OR gate 21I. An ORed output from gate 21I is used as said signal E21B2. Data a 6 , a 4 , a 3  and a 2  are supplied to AND gates 21E, 21F, 21G and 21H, and these AND gates receive switching pulses SP4 to SP1. ANDed outputs from gates 21E to 21H are supplied to a OR gate 21J. An ORed output from gate 21J is used as said signal E21B1. 
     FIG. 8 shows a configuration of switch circuit 25 shown in FIG. 4. Data a 7 , a 6 , a 5 , a 4 , Y 2 , a 3 , Y 1 , a 2  and Y 0  are supplied to AND gates 25A, 25B, 25C, 25E, 25G, 25H, 25K, 25L and 25P, respectively. Data a 7  is also supplied to AND gates 25D and 25J; data a 6 , to AND gates 25F and 25N; data a 5 , to an AND gate 25I; and data a 4 , to an AND gate 25M. Switching pulse SP2 is supplied to AND gates 25A, 25B, 25C, 25E, 25H and 25L. Switching pulse SP3 is supplied to AND gates 25D, 25F, 25I and 25M. Switching pulse SP4 is supplied to AND gates 25J and 25N. Switching pulse SP5 is supplied to AND gates 25G, 25K, and 25P. 
     An ANDed output from gate 25A is used as said signal E25B6, and an ANDed output from gate 25B is used as said signal E25B5. ANDed outputs from gates 25C and 25D are converted to said signal E25B4 via an OR gate 25Q. ANDed outputs from gates 25E to 25G are converted to said signal E25B3 via an OR gate 25R. ANDed outputs from gates 25H to 25K are converted to said signal E25B2 via an OR gate 25S. ANDed outputs from gates 25L to 25P are converted to said signal E25B1 via an OR gate 25T. 
     The same effect as in the first embodiment can be obtained in the second embodiment. 
     In the above embodiments, a binary number is divided by three. However, the binary number may be divided by seven or fifteen. In general, the present invention is effectively applied to divide a binary number by m (for m=2 a  -1 where a is a positive number of 2 or more). The general infinite series can then be given as follows: ##EQU13## for L.sub.(n-ba) =L n  /2 ba  (where b is a positive integer) where L n  is an n-bit binary number. 
     For example, when a given binary number, e.g., an 8-bit number, is divided by 3 (i.e., m=3), condition a=2 is given from m=2 a  -1. In this case, an infinite series is given as follows: ##EQU14## The above infinite series is the same as that described with reference to the first embodiment. 
     An infinite series is obtained in the following manner when the 8-bit number is divided by seven. In this case, conditions m=7 and a=3 are given from m=2 a  -1. ##EQU15## 
     The above infinite series can be rewritten as follows: ##EQU16## 
     In this case, the sum of the decimal parts can be obtained by repeatedly adding a 3-bit data which is obtained by dividing the decimal part data in a unit of 3-bit from the most significant bit of the decimal part. By using this sum data of the decimal part, a carry to an integer digit position is obtained and is added to the sum of the integer parts. 
     A detailed description for another case wherein 8-bit data is divided by 15 (i.e., 2 4  -1) or by 31 (i.e., 2 5  -1) will be omitted. In this case, the decimal point is shifted in a unit of four- or five-bit to the left in the same manner as described above. Decimal parts of decimal point shifted data are added to obtain a carry to an integer digit position. The carry is added to a sum of integer parts. In general, the following relation is given: ##EQU17## The above result indicates that L n  /m can be developed into a general infinite series when the divisor m is given as (2 a  -1). For this reason, the present invention can be applied not only to m=3 or 5 but also to m=2 a  -1. 
     In the above embodiments, the dividend is the 8-bit value L 8 . However, the number of bits of the dividend is not limited to 8 bits but may be extended to n bits. 
     As is apparent from the above description, the present invention can be applied whenever an n-bit dividend and a (2 a  -1) divisor are given.