[Home] [Computing] [Mechanical Calculators] Calculating with Mechanical Calculators

Calculating with Mechanical Calculators

This tutorial explains how to use mechanical calculators of the Odhner system to perform the four basic arithmetic operations and also how to calculate square roots. This includes not only the Original Odhner machines, but also its clones like the Brunsviga models A, B, C, D, E, F, M, MA, MB and MD, and also similar mechanical calculators of other manufacturers.

Components of the Mechanical Calculator

Brunsviga Model B (1902)

Capacity of the calculator

The capacity of mechanical calculators is defined by the ratio of three components: the number of digits that can be processed in the input unit, the recording unit and in the counter.

The capacity is usually given as input unit x recording unit x counter.
 
The Brunsviga Modell B shown above has a Capacity of 9 x 13 x 8.

Explanation of the arithmetic operations

Crank

crankmeaning
1x +turn crank one time clockwise (addition)
1x -turn crank one time counterclockwise (subtraction)

Carriage

carriagemeaning
←1shift carriage one position to the left
1→shift carriage one position to the right
|←move carriage completely to the left (default position)
→|move carriage completely to the right
|IU
|RU
adjust input unit and recording unit left-aligned

Addition

Exercise 1

Calculate the sum of
75,384 + 6,278 + 9,507
carriageinput unitcrankrecording unitcounter
(adjust left)0000753841x +000000007538400000001
 0000062781x +000000008166200000002
 0000095071x +000000009116900000003
result91,169

Exercise 2

Calculate the sum of
1521.16 + 3.5469 + 819.3 + 15.453 + 6875.82974
carriageinput unitcrankrecording unitcounter
(adjust left)1521.160001x +00001521.1600000000001
 0003.546901x +00001524.7069000000002
 0819.300001x +00002344.0069000000003
 0015.453001x +00002359.4599000000004
 6875.829741x +00009235.2896400000005
result9235.28964

Subtraction

Exercise 3

Calculate the difference of
2,765,930 - 2,748,693
carriageinput unitcrankrecording unitcounter
(adjust left)0027659301x +000000276593000000001
 0027486931x -000000001723700000000
result17,237

Multiplication

Exercise 4

Calculate the product of
3600 x 24 x 365
(seconds per year)
carriageinput unitcrankrecording unitcounter
(adjust left)0000036004x +000000001440000000004
1→0000036002x +000000008640000000024
|←000086400(-)resetreset
(adjust left)0000864005x +0000000.43200000000005
1→0000864006x +000000561600000000065
1→0000864003x +000003153600000000365
result31,536,000 (seconds per year)

Exercise 5

Calculate the product of
187 x 4.689
carriageinput unitcrankrecording unitcounter
(adjust left)000004.6897x +0000000032.82300000007
1→000004.6898x +0000000407.94300000087
1→000004.6891x +0000000876.84300000187
result876.843

Exercise 6

Calculate the product of
521.735 x 0.25
carriageinput unitcrankrecording unitcounter
(adjust left)000521.7355x +00000026.0867500000005
1→000521.7352x +00000130.4337500000025
result130.43375
Both multiplied numbers have five decimal places combined.
Therefore the result has five decimal places.

Division

For the calculation of divisions, the dividend should be entered left-aligned into the recording unit. Then the divisor has to be entered in the input unit directly at the leftmost possible position where it is less or equal the digit sequence in the recording unit. Then the dividend in the recording unit is eliminated step by step by subtracting the divisor until the number in the recording unit is less than the divisor in the input unit. Now the carriage has to be shifted one position to the left, until the number in the recording unit again is greater or equal the number in the input unit. Then we proceed as above, by continously subtracting the divisor from the number in the recording unit. When the number in the recording unit is completely eliminated, the result of the division is given in the counter (in red digits).

Exercise 7

Calculate the division of 277204 / 37
carriageinput unitcrankrecording unitcounter
|←reset all ____000000000
0000000000000

00000000
4→277204|000
000000|0000000
1x +277204|000
277204|0000000

00010000
reset!
3→000037000|
___277204|0000000
7x –000037000|
___018204|0000000

70000000
←100003700|0
__018204|0000000
4x –00003700|0
__003404|0000000

74000000
←10000370|00
_003404|0000000
9x –0000370|00
_000074|0000000

74900000
←1000037|000
000074|0000000
2x –000037|000
000000|0000000

74920000
result277204 / 37 = 7492

Exercise 8

Calculate the division of 254 / 19 (floating point division)
carriageinput unitcrankrecording unitcounter
|IU
|RU
254000000
0000000000000
1x +254000000
2540000000000

00010000
reset!
→|000190000
___2540000000000
1x -000190000
___0640000000000

10000000
←1000190000
__0640000000000
1x -000190000
__0450000000000

11000000
 000190000
__0450000000000
1x -000190000
__0260000000000

12000000
 000190000
__0260000000000
1x -000190000
__0070000000000

13000000
←1000190000
_0070000000000
1x -000190000
_0051000000000

13100000
 000190000
_0051000000000
1x -000190000
_0032000000000

13200000
 000190000
_0032000000000
1x -000190000
_0013000000000

13300000
←1000190000
0013000000000
1x -000190000
0011100000000

13310000
 000190000
0011100000000
1x -000190000
0009200000000

13320000
 000190000
0009200000000
1x -000190000
0007300000000

13330000
 000190000
0007300000000
1x -000190000
0005400000000

13340000
 000190000
0005400000000
1x -000190000
0003500000000

13350000
 000190000
0003500000000
1x -000190000
0001600000000

13360000
←1_000190000
0001600000000
1x -_000190000
0001410000000

13361000
 _000190000
0001410000000
1x -_000190000
0001220000000

13362000
 _000190000
0001220000000
1x -_000190000
0001030000000

13363000
 _000190000
0001030000000
1x -_000190000
0000840000000

13364000
 _000190000
0000840000000
1x -_000190000
0000650000000

13365000
 _000190000
0000650000000
1x -_000190000
0000460000000

13366000
 _000190000
0000460000000
1x -_000190000
0000270000000

13367000
 _000190000
0000270000000
1x -_000190000
0000080000000

13368000
←1__000190000
0000080000000
1x -__000190000
0000061000000

13368100
 __000190000
0000061000000
1x -__000190000
0000042000000

13368200
 __000190000
0000042000000
1x -__000190000
0000023000000

13368300
 __000190000
0000023000000
1x -__000190000
0000004000000

13368400
←1___000190000
0000004000000
1x -___000190000
0000002100000

13368410
 ___000190000
0000002100000
1x -___000190000
0000000200000

13368420
←1____000190000
0000000200000
1x -____000190000
0000000010000

13368421
result254 / 19 = 13.368421

Calculating Square Roots (Toepler's method)

On mechanical calculators of the Odhner system, square roots can be calculated using Toepler's method, which had been developed by August Toepler (1836–1912) specially for mechanical calculators. The method is based on the fact that every integer square number can be calculated as the sum of odd numbers, beginning with 1, 3, 5, and so on.
1² = 1
2² = 1 + 3 = 4 = 2 · 2
3² = 1 + 3 + 5 = (1 + 5) + 3 = 6 + 3 = 2 · 3 + 3 = 3 · 3
4² = 1 + 3 + 5 + 7 = (1 + 7) + (3 + 5) = 2 · 8 = 4 · 4
5² = 1 + 3 + 5 + 7 + 9 = (1 + 9) + (3 + 7) + 5 = 2 · 10 + 5 = 4 · 5 + 5 = 5 · 5
It is also important that each two decimal places in the square number correspond to one decimal place of the square root.
10² = 100
√100 = 10
For this reason in Toepler's method the square number is divided in groups of two digits each, leftwards beginning with the decimal separator. When the sqare number has an odd number of decimal places, the leftmost digit forms a group for itself.
√804609  →  80|46|09
√2  →  2
√20  →  20
√200  →  2|00
√2000  →  20|00
√200 results in the same digit sequence as √2, only shifted by one position.
As well √2000 results in the same digit sequence as √20, also shifted by one position.
On the other hand, √2 and √20 result in completely different digit sequences:
√2 = 1.41421356237
√200 = 10 · √2 = 14.1421356237
√20 = 4.472135955
√2000 = 10 · √20 = 44.72135955
In Toepler's method every group of two decimal places is eliminated stepwise by subtracting the forthcoming odd number, until the next odd number is greater than the remainder of the actual place. When there's still a remainder, the forthcoming odd number is calculated by the result digit sequence found so far, multiplied by 20 plus one. That is the starting odd number for the next decimal place. For this the remainder is shifted one decimal place to the left (which means it is multiplied by 10).
This sounds more difficult than it really is. Let's take a look at the following example.
With some practice, this is done quickly and safely.
(see also the video below).

Exercise 9

Calculate the square root √804609
carriageinput unitcrankrecording unitcounter
|IU
|RU
804609|000
000000|0000000
1x +804609|000
804609|0000000

00010000
reset!
→|000|01|00|00|
___|80|46|09|0000000
1x -000|01|00|00|
___|79|46|09|0000000

10000000
 000|03|00|00|
___|79|46|09|0000000
1x -000|03|00|00|
___|76|46|09|0000000

20000000
 000|05|00|00|
___|76|46|09|0000000
1x -000|05|00|00|
___|71|46|09|0000000

30000000
 000|07|00|00|
___|71|46|09|0000000
1x -000|07|00|00|
___|64|46|09|0000000

40000000
 000|09|00|00|
___|64|46|09|0000000
1x -000|09|00|00|
___|55|46|09|0000000

50000000
 000|11|00|00|
___|55|46|09|0000000
1x -000|11|00|00|
___|44|46|09|0000000

60000000
 000|13|00|00|
___|44|46|09|0000000
1x -000|13|00|00|
___|31|46|09|0000000

70000000
 000|15|00|00|
___|31|46|09|0000000
1x -000|15|00|00|
___|16|46|09|0000000

80000000
The forthcoming odd number 17 would be greater than the 16 in the recording unit. Therefore the first digit of the result is ready calculated.
The 8 in the counter is multiplied by 20, then 1 added afterwards:
8 · 20 + 1 = 161
This odd number has to be entered in the input unit. Then the carriage has to be shifted one position to the left.
carriageinput unitcrankrecording unitcounter
←100|01|61|00|0
__|16|46|09|0000000
1x -00|01|61|00|0
__|14|85|09|0000000

81000000
 00|01|63|00|0
__|14|85|09|0000000
1x -00|01|63|00|0
__|13|22|09|0000000

82000000
 00|01|65|00|0
__|13|22|09|0000000
1x -00|01|65|00|0
__|11|57|09|0000000

83000000
 00|01|67|00|0
__|11|57|09|0000000
1x -00|01|67|00|0
__|09|90|09|0000000

84000000
 00|01|69|00|0
__|09|90|09|0000000
1x -00|01|69|00|0
__|08|21|09|0000000

85000000
 00|01|71|00|0
__|08|21|09|0000000
1x -00|01|71|00|0
__|06|50|09|0000000

86000000
 00|01|73|00|0
__|06|50|09|0000000
1x -00|01|73|00|0
__|04|77|09|0000000

87000000
 00|01|75|00|0
__|04|77|09|0000000
1x -00|01|75|00|0
__|03|02|09|0000000

88000000
 00|01|77|00|0
__|03|02|09|0000000
1x -00|01|77|00|0
__|01|25|09|0000000

89000000
The next odd number 179 would be greater than the 125 in the recording unit. Now we have finished the second result digit.
The digit sequence 89 in the counter, that we have found so far, is multiplied by 20, plus 1:
89 · 20 + 1 = 1781
This has to be entered in the input unit. Then the carriage has to be shifted one position to the left.
carriageinput unitcrankrecording unitcounter
 0|00|17|81|00
_|01|25|09|0000000
1x -0|00|17|81|00
_|01|07|28|0000000

89100000
 0|00|17|83|00
_|01|07|28|0000000
1x -0|00|17|83|00
_|00|89|45|0000000

89200000
 0|00|17|85|00
_|00|89|45|0000000
1x -0|00|17|85|00
_|00|71|60|0000000

89300000
 0|00|17|87|00
_|00|71|60|0000000
1x -0|00|17|87|00
_|00|53|73|0000000

89400000
 0|00|17|89|00
_|00|53|73|0000000
1x -0|00|17|89|00
_|00|35|84|0000000

89500000
 0|00|17|91|00
_|00|35|84|0000000
1x -0|00|17|91|00
_|00|17|93|0000000

89600000
 0|00|17|93|00
_|00|17|93|0000000
1x -0|00|17|93|00
_|00|00|00|0000000

89700000
result√804609 = 897
There is no remainder in the recording unit. That means, we have completely calculated the square root without remainder.

Exercise 10

Calculate the square root √2
carriageinput unitcrankrecording unitcounter
|IU
|RU
2|00000000
000000|0000000
1x +2|00000000
2|000000000000

00010000
reset!
→|000|1|00000
___|2|000000000000
1x -000|1|00000
___|1|000000000000

1|0000000
 1 · 20 + 1 = 21
←1000|21|0000
__1|00|0000000000
1x -000|21|0000
__0|79|0000000000

1|1000000
 000|23|0000
__0|79|0000000000
1x -000|23|0000
__0|56|0000000000

1|2000000
 000|25|0000
__0|56|0000000000
1x -000|25|0000
__0|31|0000000000

1|3000000
 000|27|0000
__0|31|0000000000
1x -000|27|0000
__0|04|0000000000

1|4000000
 14 · 20 + 1 = 281
←100|02|81|000
_0|04|00|00000000
1x -00|02|81|000
_0|01|19|00000000

1|4100000
 141 · 20 + 1 = 2821
←1000|28|21|00
001|19|00|000000
1x -000|28|21|00
000|90|79|000000

1|4110000
 000|28|23|00
000|90|79|000000
1x -000|28|23|00
000|62|56|000000

1|4120000
 000|28|25|00
000|62|56|000000
1x -000|28|25|00
000|34|31|000000

1|4130000
 000|28|27|00
000|34|31|000000
1x -000|28|27|00
000|06|04|000000

1|4140000
 1414 · 20 + 1 = 28281
←1_0002|82|81|0
00006|04|00|0000
1x -_0002|82|81|0
00003|21|19|0000

1|4141000
 _0002|82|83|0
00003|21|19|0000
1x -_0002|82|83|0
00000|38|36|0000

1|4142000
 14142 · 20 + 1 = 282841
←1__000|28|28|41|
00000|38|36|00|00
1x -__000|28|28|41|
00000|10|07|59|00

1|4142100
 141421 · 20 + 1 = 2828421
The calculated forthcomming odd number is too long to be entered completely, because the input unit has a limited number of decimal places. From this point on, we have to go on with a reduced precision, which will have no big impact on the result. We only enter the leading digits of the calculated forthcomming number.
←1___00|02|82|84|2
00000|10|07|59|00
1x -___00|02|82|84|2
00000|07|24|74|80

1|4142110
 ___00|02|82|84|2
00000|07|24|74|80
1x -___00|02|82|84|2
00000|04|41|90|60

1|4142120
 ___00|02|82|84|2
00000|04|41|90|60
1x -___00|02|82|84|2
00000|01|59|06|40

1|4142130
 1414213 · 20 + 1 = 28284261
←1____000|28|28|42
0000001|59|06|40
1x -____000|28|28|42
0000001|30|77|98

1|4142131
 ____000|28|28|42
0000001|30|77|98
1x -____000|28|28|42
0000001|02|49|56

1|4142132
 ____000|28|28|42
0000001|02|49|56
1x -____000|28|28|42
0000000|74|21|14

1|4142133
 ____000|28|28|42
0000000|74|21|14
1x -____000|28|28|42
0000000|45|92|72

1|4142134
 ____000|28|28|42
0000000|45|92|72
1x -____000|28|28|42
0000000|17|64|30

1|4142135
result√2 = 1.4142135...
There's a remainder in the recording unit. This means that the real result would be slightly greater than our calculated result.
The result for √200 would be: √200 = 10 · √2 = 14.142135...

Videos

Brunsviga B (1902) – Addition, Subtraction, Multiplication, Division, Square Root

The video demonstrates not only the four basic arithmetic operations including a floating point division, but also how to calculate square roots.

Calculating Square Root 804609 with a mechanical calculator

The video demonstrates Toepler's method for calculating square roots. As an example the square root of 804609 is calculated which gives an integer result without remainder.

Calculating the Square root of 13 using Toepler's method for mechanical calculators

The video demonstrates Toepler's method for calculating square roots. As an example the square root of 13 is calculated which is a floating point operation. The result precision is limited by the number range of the calculator's counter.

Calculating the cube root of 3.5375 with an old mechanical calculator (interval-based approximation)

The video demonstrates how to calculate cube roots using an interval-based approximation.
This is shown for the third root of 3.5375 as an example.
The result is the mean solar distance of Mars in astronomical units according to Kepler's Third Law.

Worksheet calculation like 120 years ago using a mechanical calculator - devaluation of money

This video demonstrates how worksheet calculations were performed at the beginning of the 20th century, using a mechanical calculator and a printed worksheet on paper.

Interpolating Sine and Cosine with an old mechanical calculator

In the age of mechanical calculators there already was the need to calculate sines and cosines of angles, but early mechanical calculators didn't supported those trigonometric functions directly. Since the 18th century books with precalculated trigonometric values existed. When you wanted to determine sine and cosine of an angle that wasn't included in such a book, you needed to do an interpolation with the values of nearby angles taken from that book.

Calculating the shortest distance (beeline) between Frankfurt, Germany and Lakehurst, New Jersey

This video shows a method for calculating the shortest distance between two places on earth. As an example the beeline between Frankfurt, Germany and Lakehurst, New Jersey is calculated step by step using a worksheet.






https://mastodon.world/@jpuhle