![]() |
EgyptMath
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab mich Letzens etwas mit ägyptischer Mathematik beschäftigt. Fand sie extrem verblüffend und wollte euch kurz die Multiplikation und Division "like an egyptian" vorstellen. Nein, hat nichts mit den Bangles zu tun :-D, die beiden Methoden werden z.B.
![]()
Code:
Warum ist das ganze nun interessant? Ich denke da vor allem an BigInts. Wenn man genauer hinschaut sieht man, daß sowohl die Multiplikation als auch die Division nur die Addition verwenden. Eine Add und Substract ist aber vergleichsweise einfach zu programmieren, z.B. nach der Grundschulmethode.
Wir brauchen Reihen der Art x0 = x, x1 = x0 + x0, x2 = x1 + x1, x3 = x2 + x2, ..
--------------------------- z.B. x = 1 -> 1, 2, 4, 8, 16, 32, .. = PowersOf2 z.B. x = 25 -> 25, 50, 100, 200, 400, 800, .. Multiplikation -------------- z.B. 17 x 25 Wir drücken die 17 in einer 1er Reihe aus 17 = (16) x 1 + 8 x 0 + 4 x 0 + 2 x 0 + (1) x 1 und schreiben eine 25iger Reihe daneben (1) -> 25 2 50 4 100 8 200 (16) -> 400 Wir addieren die korrespondierenden Reihenwerte, die wir zum Schreiben der 17 verwendet haben Result = 400 + 25 Division = Inverse Multiplikation --------------------------------- z.B. 170 / 25 Wir drücken die 170 in einer 25iger Reihe aus 170 = (100) x 1 + (50) x 1 + 25 x 0 + (Rest) und schreiben (links) daneben die 1erReihe 1 25 2 <- (50) 4 <- (100) Wir addieren die korrespondierenden Reihenwerte, die wir zum Schreiben der 170 verwendet haben Result = 4 + 2 + Rest |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz