A cube root calculation apparatus

Abstract: An apparatus for calculating the cube root of a number is disclosed. The apparatus has: a first memory for initially storing a cube root extraction number from which the cube root is to be extracted; a second memory for initially storing a first number which is predetermined based on said cube root extrac­ tion number; a third memory for initially storing a second predetermined number; a fourth memory for ini­ tially storing a third predetermined number; and a fifth memory means for storing a number. The relation in size between the number stored in the first memory and the number stored in the second memory is judged. When the number stored in the first memory is not smaller than the number stored in the second memory, the number stored in the second memory from the number stored stored in the first memory, a number generated from the number stored in the third memory is aded to the number stored in the second memory means, and a fourth predetermined number is added to the number stroed in the fifth memory. When the number stored in the first memory is smaller than the number stored in the second memory, a number generated from the number stored in the fourth memory is subtracted from the number stored in the second memory, and the number stores in the fifth memory is shifted to the left. Until predetermined conditions are met, the above processes are repeated, and the number stored in said fifth memory is determined as the cube root.

Description: BACKGROUND OF THE INVENTION 1. Field of the invention: This invention relates to a cube root calculation apparatus, namely to an apparatus for obtaining the cube root of an arbitrary number. 2. Description of the prior art: Generally, the cube root of an arbitrary number is obtained by either the method using a logarithmic function and exponential function and the method using Newton's successive-approximation equation. In the former, the logarithm of a number from which the cube root is to be calculated (hereinafter, such a number is referred to as "a cube root extraction number") is obtained, and the exponent of the number obtained by dividing the logarithm by three is calculated. In the latter, Newton's successive-approximation equation is applied to a cube root extraction number "A": X n+1 = 2·X n /3 + A/X n 2 (n = 0, 1, 2, ···) Then, the values X 1 , X 2 , X 3 , ··· are successively calculated. When X m and X m+1 are equal to or approximately equal to each other, X m is determined as the cube root of the cube root extraction number "A". The above-described methods of the prior art require the calculation of special functions such as logarithmic and exponential functions, and also repeated multiplications and divisions, with the result that the time required for the calculation of the cube root of a number in the prior art becomes extremely long. Moreover, the number of digits of the mantissa of a cube root obtained in the prior art depends on the computational accuracy of subroutines used to execute the calculation of the special functions, and also on that of the multications and divisions, so that the number of digits of the mantissa of a cube root cannot be arbitrarily specified. In the US-4 075 705 a cube-root extractor is disclosed which requires specific components, such as a decimal full-adder and subtractor, which can only be applied to decimal notation and which also needs a comparatively long time for obtaining cube-roots (for the reasons described above). The International Journal of Mini and Microcomputers, volume 9, No. 3, 1987, pages 74 to 79, Kostopoulos: "General Algorithm for the Development of Detailed Algorithms for the Extraction of Integer Roots" discloses an original method for the design of root-computing algorithms. The method disclosed is applicable to all numerical systems and leads to the design of algorithms for the extraction of any integer rules. According to the disclosure, the method has to be programmed into a loop where each iteration produces one digit of the sough-after root extending into the fractional part of the root. Hardware implementations of the proposed method are not disclosed. SUMMARY OF THE INVENTION The apparatus of this invention, which overcomes the above-discussed and numerous other disadvantages and deficiencies of the prior art, is defined in claim 1. Preferred embodiments are defined in the sub-claims. Thus, the invention described herein makes possible the objectives of: (1) providing a cube root calculation apparatus which can calculate the cube root of a number in a much shorter time than in the prior art; and (2) providing a cube root calculation apparatus in which the number of digits of the mantissa of a cube root to be obtained can be arbitrarily specified. BRIEF DESCRIPTION OF THE DRAWINGS This invention may be better understood and its numerous objects and advantages will become apparent to those skilled in the art by reference to the accompanying drawings as follows: Figure 1 is a block diagram illustrating an apparatus according to the invention. Figure 2 is a flowchart illustrating the operation of the apparatus of Figure 1. Figures 3, 4A and 4B, and 5A to 5D are block diagrams illustrating the portions of the apparatus of Figure 1 which are involved in each step of the operation. DESCRIPTION OF THE PREFERRED EMBODIMENTS Figure 1 shows a cube root calculation apparatus according to the invention. In the embodiment, the internal calculations are executed using the decimal number system. According to the invention, the internal calculations can be executed using another number system in the essential same manner as in the embodiment except that some of the constants are adequately changed. When a cube root is obtained, the sign (+ or -) and decimal place of the cube root must be determined. The sign of a cube root extraction number is used as that of the cube root of the number. For the latter, if the cube root extraction number includes a decimal fraction part, the cube root extraction number may be made an integer the required number of times by multiplying it by 10 to the third power (when the cube root extraction number is a decimal number), and then the cube root of the integer number is obtained, and the exponent part of the obtained cube root is decreased to adjust the decimal place. To simplify the description, therefore, the cube root extraction number is assumed to be a natural decimal number. The cube root calculation apparatus of Figure 1 1 - 8 comprises eight memory devices each for storing decimal a decimal number, a comparator 9, subtracters 11 and 13, adders 12 and 15 - 17, an adder-subtracter 14, right shift indicators 21 - 26, and a left shift indicator 27. The stored contents of the memory devices 1 - 8 are designated as x, y, z, A, r 1 , r 2 , rc 1 and rc 2 , respectively. The cube root extraction number is intitially stored in the memory device 1, and the calculated cube root is finally obtained as the contents of the memory device 4. The inputs of the memory devices 1 - 8 are coupled to the components as summarized in Table 1 below. Memory Devices Supplied with Outputs of 1 (x) 1 and 11 2 (y) 2, 11, 13 and 14 3 (z) 3 4 (A) 17 5 (r 1 ) 5 and 15 6 (r 2 ) 6 and 16 7 (rc 1 ) 7 8 (rc 2 ) 8 The memory devices 1, 2, 5 and 6 which have a plurality of inputs are controlled by a control device (not shown) so as to selectively select one of the inputs and store the data on the selected input. The memory devices 1, 2, 5, 6 and 4 correspond respectively to the first to fifth memory means stated in the accompanying claims. The comparator 9 compares the contents (x) of memory device 1 with the contents (y) of memory device 2, and then supplies a signal "a" based on the relative size of the two contents to the control device mentioned above. The subtracter 11 subtracts the contents (y) of the memory device 2 from the contents (x) of the memory device 1 (x - y). The subtracter 13 subtracts the contents (r 2 ) of the memory device 6 from the contents (y) of the memory device 2 (y - r 2 ). The adder 12 adds the contents (r 1 ) of the memory device 5 to the contents (y) of the memory device 2 (y + r 1 ). The adder 15 adds the contents (rc 1 ) of the memory device 7 to the contents (r 1 ) of the memory device 5 (r 1 + rc 1 ). The adder 16 adds the contents (rc 2 ) of the memory device 8 to the contents (r 2 ) of the memory device 6 (r 2 + rc 2 ). The adder 17 adds 1 to the contents (A) of the memory device 4 (A + 1). The adder-subtracter 14 adds the contents (z) of the memory device 3 to the contents (y) of the memory device 2 (y + z) when it receives a signal "b" from the above-mentioned control device, and, when the signal "b" is not supplied from the control device, it subtracts the contents (z) of the memory device 3 from the contents (y) of the memory device 2 (y - z). The add and subtract timing of the adders 12, 15 and 16, subtracters 11 and 13, and adder-subtracter 14 is determined by the above-mentioned control device. As shown in Figure 1 and Table 1, the calculation results obtained from the adders 12, 15 and 16 are stored in the memory devices 2, 7 and 8, respectively. The calculation results obtained from the subtracters 11 and 13, and adder-subtracter 14 are stored in the memory device 1. The right shift indicators 21 - 26 indicate to shift the contents of the memory devices 2, 5, 6, 3, 7 and 8 with which they are associated as indicated by the arrows in Figure 1, to the right; i.e., toward the lower place digits. The numbers in "R1", "R2" and "R3" appearing in the blocks of the right shift indicators are the number of places shifted each time when the corresponding right shift indicator instructs the shift operation. The left shift indicator 27 instructs to shift the contents of the memory device 4 to the left; i.e, toward the upper place digits, one place. In order to make the description simple, one adder or subtracter is provided for each memory device in the embodiment of Figure 1, but alternatively one adder or subtracter may be commonly provided to a plurality of memory devices. The cube root extraction calculation apparatus of this embodiment can be constructed so as to have only a hardware configuration, but alternatively it may have a configuration using a general-purpose microprocessor unit (MPU). In the latter case, the memory devices may be implemented using registers of the MPU or the main memory unit, and the other components may be implemented using commands from the MPU for performing the calculation of the contents of the register or main memory. The required commands in this case are mainly commands for adding, subtracting and shifting, which are generally used in a usual MPU. Also in an embodiment in which an MPU is used, therefore, the cube root extraction calculation can be performed extremely fast. The operation of this embodiment will be described with reference to Figure 2. (a) First, the memory devices 1 - 8 are initialized (step S0). As described above, the natural number supplied as the cube root extraction number X is stored in the memory device 1. When the cube root extraction number X satisfies the equation: 10 3(N+1) > X ≧ 10 3N , 10 3N is initially set in the memory device 2 (where N is an integer). In other words, the number set in the memory device 2 comprises "1" for the block corresponding to the upper most block when the cube root extraction number is divided up into blocks of three digits each beginning from the low place digit, and "0"s for the digits of the other blocks. The same number as the initial value in the memory device 2 is set in the memory device 3 at first. The initial values in the memory devices 4, 5 and 6 are "0". The numbers initially set in the memory devices 7 and 8 are a number six times and a number 27 times, respectively, the initial value in the memory device 2. In Figure 1, the means which performs the above initial settings is not shown. In Tables 2 to 27 below, the contents of the memory devices 1 - 8 in each step are shown wherein the cube root extraction number X is 12,812,904 (=234 3 ). Step SO Memory Devices Contents of Memory Devices 1 (x) 12812904 2 (y) 1000000 5 (r 1 ) 0 6 (r 2 ) 0 7 (rc 1 ) 6000000 8 (rc 2 ) 27000000 3 (z) 1000000 4 (A) 0 (b) After the above initial settings are made in step S0, it is determined whether or not x is greater than y (step S1). If x ≧ y, then the processes in steps S2 and S3 are performed. If x < y, then the processes in steps S4 to S7 are performed. The portion of the apparatus of Figure 1 involved in the comparison process in step S1 is shown in Figure 3. The signal "a" is output from the comparator 9 in accordance with the comparison result in step S1. (c) In the example shown in Table 2, x is greater than y in step S1, then the operation proceeds to steps S2 and S3. In step S2, the processes in (1) to (4) below is performed: (1) y is subtracted from x; (2) rc 1 is added to r 1 ; (3) rc 2 is added to r 2 ; and (4) 1 is added to A. Step S2 Memory Devices Contents of Memory Devices 1 (x) 11812904 2 (y) 1000000 5 (r 1 ) 6000000 6 (r 2 ) 27000000 7 (rc 1 ) 6000000 8 (rc 2 ) 27000000 3 (z) 1000000 4 (A) 1 In step S3, r 1 is added to y. When the process of step s3 is completed, the operation returns to step S1. The portion of the apparatus involved in the step S2 calculation is shown in Figure 4A, and that involved in the step S3 calculation is shown in Figure 4B. After the completion of step S3, the operation returns to Step S1. Step S3 Memory Devices Contents of Memory Devices 1 (x) 11812904 2 (y) 7000000 5 (r 1 ) 6000000 6 (r 2 ) 27000000 7 (rc 1 ) 6000000 8 (rc 2 ) 27000000 3 (z) 1000000 4 (A) 1 (d) In step S1, x is greater than y again. The processes of steps S2 and S3 are repeated. Step S2 Memory Devices Contents of Memory Devices 1 (x) 4812904 2 (y) 7000000 5 (r 1 ) 12000000 6 (r 2 ) 54000000 7 (rc 1 ) 6000000 8 (rc 2 ) 27000000 3 (z) 1000000 4 (A) 2 Step S3 Memory Devices Contents of Memory Devices 1 (x) 4812904 2 (y) 19000000 5 (r 1 ) 12000000 6 (r 2 ) 54000000 7 (rc 1 ) 6000000 8 (rc 2 ) 27000000 3 (z) 1000000 4 (A) 2 As a result of the above process in (c) and (d), "2" is obtained as the hundred place digit of the cube root. (e) The operation returns again to step S1 wherein it is judged that x is smaller than y. Then, the processes of steps S4 to S7 are performed. In step S4, z is subtracted from y. The portion of the apparatus involved in the step S4 calculation is shown in Figure 5A. When the step S4 calculation is performed, the signal "b" is not supplied to the adder-subtracter 14, and the adder-subtracter 14 functions as a subtracter. Step S4 Memory Devices Contents of Memory Devices 1 (x) 4812904 2 (y) 18000000 5 (r 1 ) 12000000 6 (r 2 ) 54000000 7 (rc 1 ) 6000000 8 (rc 2 ) 27000000 3 (z) 1000000 4 (A) 2 In step S5, y is shifted one place to the right, r 2 is shifted two placed to the right, and z is shifted three places to the right. The portion of the apparatus involved in the step S5 calculation is shown in Figure 5B. Step S5 Memory Devices Contents of Memory Devices 1 (x) 4812904 2 (y) 1800000 5 (r 1 ) 12000000 6 (r 2 ) 540000 7 (rc 1 ) 6000000 8 (rc 2 ) 27000000 3 (z) 1000 4 (A) 2 In step 56, r 2 is subtracted from y. The portion of the apparatus involved in the step S6 calculation is shown in Figure 5C. Step S6 Memory Devices Contents of Memory Devices 1 (x) 4812904 2 (y) 1260000 5 (r 1 ) 12000000 6 (r 2 ) 540000 7 (rc 1 ) 6000000 8 (rc 2 ) 27000000 3 (z) 1000 4 (A) 2 In step S7, the processes in (5) to (9) below are performed: (5) z is added to y; (6) A is shifted one place to the left; (7) r 1 is shifted two places to the right; (8) rc 1 is shifted three places to the right; (9) rc 2 is shifted three places to the right. That portion of the apparatus involved in the step S7 calculation is shown in Figure 5D. When the step S7 calculation is performed, the signal "b" is supplied to the adder-subtracter 14 so that the adder-subtracter 14 functions as an adder. Step S7 Memory Devices Contents of Memory Devices 1 (x) 4812904 2 (y) 1261000 5 (r 1 ) 120000 6 (r 2 ) 540000 7 (rc 1 ) 6000 8 (rc 2 ) 27000 3 (z) 1000 4 (A) 20 As a result of the above process in (e), the preparation of obtaining the 10's place of the cube root has been done. When the process of step S7 is completed, the operation returns to step S1. (f) In step S1, x is greater than y. Hence the processes of steps S2 and S3 are performed with the result summarized in Tables 11 and 12. Step S2 Memory Devices Contents of Memory Devices 1 (x) 3551904 2 (y) 1261000 5 (r 1 ) 126000 6 (r 2 ) 567000 7 (rc 1 ) 6000 8 (rc 2 ) 27000 3 (z) 1000 4 (A) 21 Step S3 Memory Devices Contents of Memory Devices 1 (x) 3551904 2 (y) 1387000 5 (r 1 ) 126000 6 (r 2 ) 567000 7 (rc 1 ) 6000 8 (rc 2 ) 27000 3 (z) 1000 4 (A) 21 (g) In step S1, x is again greater than y, and hence the processes of steps S2 and S3 are repeated. Step S2 Memory Devices Contents of Memory Devices 1 (x) 2164904 2 (y) 1387000 5 (r 1 ) 132000 6 (r 2 ) 594000 7 (rc 1 ) 6000 8 (rc 2 ) 27000 3 (z) 1000 4 (A) 22 Step S3 Memory Devices Contents of Memory Devices 1 (x) 2164904 2 (y) 1519000 5 (r 1 ) 132000 6 (r 2 ) 594000 7 (rc 1 ) 6000 8 (rc 2 ) 27000 3 (z) 1000 4 (A) 22 (h) In step S1, x is again greater than y, and hence the processes of steps S2 and S3 are repeated with result summarized in Tables 15 and 16 below. Step S2 Memory Devices Contents of Memory Devices 1 (x) 645904 2 (y) 1519000 5 (r 1 ) 138000 6 (r 2 ) 621000 7 (rc 1 ) 6000 8 (rc 2 ) 27000 3 (z) 1000 4 (A) 23 Step S3 Memory Devices Contents of Memory Devices 1 (x) 645904 2 (y) 1657000 5 (r 1 ) 138000 6 (r 2 ) 621000 7 (rc 1 ) 6000 8 (rc 2 ) 27000 3 (z) 1000 4 (A) 23 As a result of above (f), (g) and (h), the 10's place number "3" of the cube root is obtained. (i) Next, x is smaller than y in step S1, and then the processes of steps S4 to S7 are sequentially performed to prepare for obtaining the 1's place of the cube root. The results of steps S4 to S7 are indicated in Tables 17 to 20, respectively. Step S4 Memory Devices Contents of Memory Devices 1 (x) 645904 2 (y) 1656000 5 (r 1 ) 138000 6 (r 2 ) 621000 7 (rc 1 ) 6000 8 (rc 2 ) 27000 3 (z) 1000 4 (A) 23 Step S5 Memory Devices Contents of Memory Devices 1 (x) 645904 2 (y) 165600 5 (r 1 ) 138000 6 (r 2 ) 6210 7 (rc 1 ) 6000 8 (rc 2 ) 27000 3 (z) 1 4 (A) 23 Step S6 Memory Devices Contents of Memory Devices 1 (x) 645904 2 (y) 159390 5 (r 1 ) 138000 6 (r 2 ) 6210 7 (rc 1 ) 6000 8 (rc 2 ) 27000 3 (z) 1 4 (A) 23 Step S7 Memory Devices Contents of Memory Devices 1 (x) 645904 2 (y) 159391 5 (r 1 ) 1380 6 (r 2 ) 6210 7 (rc 1 ) 6 8 (rc 2 ) 27 3 (z) 1 4 (A) 230 (j) In step S1, x is greater than y so that the operation proceeds to steps S2 and S3. Step S2 Memory Devices Contents of Memory Devices 1 (x) 486513 2 (y) 159391 5 (r 1 ) 1386 6 (r 2 ) 6237 7 (rc 1 ) 6 8 (rc 2 ) 27 3 (z) 1 4 (A) 231 Step S3 Memory Devices Contents of Memory Devices 1 (x) 486513 2 (y) 160777 5 (r 1 ) 1386 6 (r 2 ) 6237 7 (rc 1 ) 6 8 (rc 2 ) 27 3 (z) 1 4 (A) 231 (k) In step S1, x is again greater than y so that the processes of steps 52 and 53 are repeated. Step S2 Memory Devices Contents of Memory Devices 1 (x) 325736 2 (y) 160777 5 (r 1 ) 1392 6 (r 2 ) 6264 7 (rc 1 ) 6 8 (rc 2 ) 27 3 (z) 1 4 (A) 232 Step S3 Memory Devices Contents of Memory Devices 1 (x) 325736 2 (y) 162169 5 (r 1 ) 1392 6 (r 2 ) 6264 7 (rc 1 ) 6 8 (rc 2 ) 27 3 (z) 1 4 (A) 232 (l) In step S1, x is again greater than y so that the processes of steps S2 and S3 are again repeated. Step S2 Memory Devices Contents of Memory Devices 1 (x) 163567 2 (y) 162169 5 (r 1 ) 1398 6 (r 2 ) 6291 7 (rc 1 ) 6 8 (rc 2 ) 27 3 (z) 1 4 (A) 233 Step S3 Memory Devices Contents of Memory Devices 1 (x) 163567 2 (y) 163567 5 (r 1 ) 1398 6 (r 2 ) 6291 7 (rc 1 ) 6 8 (rc 2 ) 27 3 (z) 1 4 (A) 233 (m) In step S1, x ≧ y is further valid, and the process of step S2 is further performed. As a result, the contents of the memory devices become as indicated in Table 27 below. Step S2 Memory Devices Contents of Memory Devices 1 (x) 0 2 (y) 163567 5 (r 1 ) 1494 6 (r 2 ) 6318 7 (rc 1 ) 6 8 (rc 2 ) 27 3 (z) 1 4 (A) 234 The value "A" stored in the memory device 4 is equal to the cube root, and at this time x = 0. In this way, it can be efficiently judged whether or not the cube root extraction calculation is completed, by checking the value of x (i.e., the contents of the memory device 1) upon completion of the process in step S2 and escaping from the loop when x is determined to be 0, However, since the condition x = 0 is only valid when the cube root extraction number is exactly the cube of some number, this completion condition cannot be applied to all cube root extraction numbers. Therefore, escape from the loop and terminating cube root extraction calculation can generally be performed when, for example, (1) the value of "A" (i.e., the contents of the memory device 4) reaches a predetermined number of places, or (2) z = 0 becomes valid. For example, if the judgment of whether x = 0 after step S2 is omitted and judgment of whether z = 0 is performed after step S5, the following additional processes (n) and (o) become necessary in the calculation example described above. (n) The process of step S3 is further performed after (m). Step S3 Memory Devices Contents of Memory Devices 1 (x) 0 2 (y) 164971 5 (r 1 ) 1494 6 (r 2 ) 6318 7 (rc 1 ) 6 8 (rc 2 ) 27 3 (z) 1 4 (A) 234 (o) In step S1, it is judged that x < y to that the operation proceeds to steps S4 and S5. In step S4, since z is null, y is not changed. After step S5, it is judged that z = 0, and then the cube root calculation is terminated. Step S4 Memory Devices Contents of Memory Devices 1 (x) 0 2 (y) 164971 5 (r 1 ) 1494 6 (r 2 ) 6318 7 (rc 1 ) 6 8 (rc 2 ) 27 3 (z) 1 4 (A) 234 Step S5 Memory Devices Contents of Memory Devices 1 (x) 0 2 (y) 16497 5 (r 1 ) 1494 6 (r 2 ) 63 7 (rc 1 ) 6 8 (rc 2 ) 27 3 (z) 0 4 (A) 234 As is apparent from the above description, cube roots can be calculated to any desired place. Below is a supplemental description of the operation of this embodiment. If the cube root extraction number X (the initial value of x) satisfies 10 3(N+1) > X ≧ 10 3N , then the initial value of y is 10 3N as described above. On the other hand, the initial value of rc 1 can be expressed using a natural number n as follows: rc 1 = 10 3N [{(n + 2) 3 - (n + 1) 3 } - {(n + 1) 3 - n 3 } - [{(n + 1) 3 - n 3 } - {n 3 - (n - 1) 3 }]] = 6·10 3N When the processes in steps S2 and S3 are repeated n times while x ≧ is valid, then r 1 = 10 3N [{(n + 1) 3 - n 3 } - {n 3 - (n -1) 3 }] = 6n·10 3N y = 10 3N {(n + 1) 3 - n 3 } Then, x and A become as follows: x = X - 10 3N - 10 3N (2 3 - 1 3 ) - ··· - 10 3N {n 3 - (n - 1) 3 } = X - 10 3N ·n 3 A = n and A is obtained as the upper most place of the cube root. Next, the processes in steps 54 to S7 are described. When the equation (3) is deformed, y = 10 3(N-1) {(10n + 10) 3 - (10n) 3 } The initial value of rc 2 is rc 2 = 27.10 3N so r 2 just before the process in step S4 is performed is expressed as r 2 = 27n·10 3N In step S4, y = is replaced by y - z = 10 3(N-1) {(10n + 10) 3 - (10n) 3 - 10 3 } = 3·10 3 (n 2 + n)·10 3(N-1) In step S5, r 2 = 27Cn·10 3(N-1) y = 3·10 2 (n 2 + n)·10 3(N-1) z = 10 3(N-1) After the processes of steps S6 and 57, y becomes as follows: y = 10 3(N-1) {300(n 2 + n) = 270n + 1} = 10 3(N-1) (10 3 ·n 3 + 300n 2 + 30n + 1 - 10 3 ·n 3 ) = 10 3(N-1) {(10n +1) 3 = (10n) 3 } And r 1 expressed by equation (2) is changed by shifting two places to the right in step S7 to r 1 = 10 3(N-1) [(10n +1) 3 = (10n) 3 - {(10n) 3 (10n -1) 3 }] = 60n·10 3(N-1) In this way, preparation for seeking the next place of the cube root is performed. Next, when the processes in steps S2 and 53 are repeated m times while x ≧ y is valid, then y, x and A become as shown below. y = 10 3(N-1) [(10n + m + 1) 3 - (10n + m) 3 ] x = X - 10 3(N-1) (10n + m) 3 A = 10n + m And r 1 becomes r 1 = 10 3(N-1) [(10n + m + 1) 3 - (10n + m) 3 - {(10n + m) 3 - (10n + m - 1) 3 }] = 10 3(N-1) (60n + 6m) Calculation proceeds in the sequence described above, and when x = 0, then A becomes the cube root. In this way, according to the invention, the cube root of any desired cube root extraction number with the desired precision (number of places) can be obtained extremely fast.

Claims: A cube root calculation apparatus, comprising: at least two registers (1, 4) for respectively storing a cube root extraction number from which a cube root is to be extracted and the resultant cube root; a processing unit which includes a certain number of adder-subtracters and shift-registers for conducting calculation to obtain the cube root of the cube root extraction number, and control means which controls the operation of the processing unit characterized in that the apparatus comprises first through fifth registers (1, 2, 5, 6, 4) and a comparator (9), wherein the first register (1) stores a first number (x) in a Base-k number system, an initial value of the first number (x) being the cube root extraction number, the second register (2) stores a second number (y), an initial value of the second number (y) being determined in accordance with k and with the order of magnitude of the cube root extraction number, the third register (5) stores a third number (r 1 ), an initial value of the third number (r 1 ) being zero, the fourth register (6) stores a fourth number (r 2 ), an initial value of the fourth number (r 2 ) being zero, the fifth register (4) stores a fifth number (A), an initial value of the fifth number (A) being zero, and the comparator (9) judges relation in size between the first number (x) stored in the first register (1) and the second number (y) stored in the second register (2); the processing unit includes a certain number of adders, subtracters, adder-subtracters and shift indicators, wherein when the comparator (9) judges that the first number (x) stored in the first register (1) is not smaller than the second number (y) stored in the second register (2), the processing unit conducts a first set of calculations which at least includes subtracting the second number (y) stored in the second register (2) from the first number (x) stored in the first register (1), adding to the third number (r 1 ) stored in the third register (5) a specific number (r c1 ) which is obtained by multiplying the initial value of the second number (y) by an integer number, adding the thus increased third number (r 1 ) to the second number (y) stored in the second register (2), and incrementing the fifth number (A) stored in the fifth register (4) by one, and when the comparator (9) judges that the first number (x) stored in the first register (1) is smaller than the second number (y) stored in the second register (2), the processing unit conducts a second set of calculations which at least includes shifting rightwardly the fourth number (r 2 ) stored in the fourth register (6), subtracting the thus shifted fourth number (r 2 ) from the second number (y) stored in the second register (2), and shifting leftwardly the fifth number (A) stored in the fifth register (4); and in that said control means also controls the operation of the comparator (9) so that the comparator (9) conducts the comparing operation after the first/second set of calculations of the processing unit until the calculation for obtaining the cube root is terminated, wherein the calculation for obtaining the cube root is judged to be terminated when the shifted fifth number (A) has a predetermined place number; and the shifted fifth number (A) is determined as the cube root of the cube root extraction number at the termination of the calculation. An apparatus according to claim 1, further comprising a sixth register (3) for storing a sixth number (z), an initial value of the sixth number (z) being equal to the initial value of the second number (y), wherein the second set of calculations further includes subtracting the sixth number (z) stored in the sixth register (3) from the second number (y) stored in the second register (2) and then shifting rightwardly the sixth number (z). An apparatus according to claim 2, wherein the calculation for obtaining the cube root is also judged to be terminated when the shifted sixth number (z) stored in the sixth register (3) becomes zero.

Inventors: YOSHIDA KUNIO, YOSHIDA, KUNIO
Applicants: SHARP KK, SHARP KABUSHIKI KAISHA
Application year: 1990
Main classification: G06F7
IPC codes: G06F7