Elbląg, 5.06.2008r
Autor: Kamila Stasiak
3SD PBDiOU
Temat: Arytmetyka na długich liczbach
Program okienkowy obsługujący arytmetykę dowolnie długich liczb, które reprezentowane są przez listy cyfr w systemie pozycyjnym o podstawie Binarnym (dwójkowym), Octet'owym (ósemkowym), Decimal'nym (dziesiętnym) oraz Hexadecimal'nym (szesnastkowym).
Program wykonuje działania:
Dodawanie (+)
Odejmowanie (-)
Mnożenie (*)
Dzielenie (/)
Poniżej przedstawię sposoby obliczania:
a) Dodawanie:
Dodawanie dwóch cyfr odbywa się identycznie jak w dodawaniu ręcznym to znaczy, że dodajemy od strony prawej do lewej poszczególne pozycje, gdzie wynikiem jest nowa liczba.
Natomiast w przypadku, kiedy jedna z liczb jest ujemna odbywa się odpowiednia zamiana znaku oraz odejmowanie.
b) Odejmowanie:
Odejmowanie odbywa się podobnie jak w normalnym papierowym odejmowaniu, to znaczy, że odejmujemy zawsze od większej cyfry cyfrę mniejszą z odpowiednimi zmianami znaku.
c) Mnożenie:
W mnożeniu nie jest ważna kolejność, zatem mnożymy, większa liczbę przez mniejszą. Znak jest ustalany na podstawie znaków czynników.
Poniżej przedstawię krokowo wykonywanie działania:
Mamy do wymnożenie liczby: 1023 * 125
1023
125
---
5115 <- Pierwsza liczba jest wynikiem mnożenia liczby 5 przez 1023, przesunięcie w lewo= 0
1023
125
---
5115
2046 <- Druga liczba jest wynikiem mnożenia liczby 2 przez 1023, przesuniecie w lewo 1
1023
125
---
5115
2046
1023 <- Trzecia liczba jest wynikiem mnożenia liczby 1 przez 1023, przesunięcie w lewo 2
Przesunięcia powodują to, że to wygląda następująco:
5115
20460
+102300
Teraz dodawanie odbywa się w następujący sposób:
Najpierw dodajemy dwie pierwsze liczby:
5115
20460
102300
Wynik poprzedniego kroku jest liczba: 25575
Następnie dodajemy dwie pozostałe liczby, tj. wynik z poprzedniego kroku z liczba trzecią:
25575
+ 102300
--------------
127875
d) Dzielenie:
Dzielenie odbywa się tak jak dzielenie liczb całkowitych z reszta. Oznacza to, że wynikiem jest liczba całkowita, znak dobierany odpowiednio na podstawie znaków dzielnej i dzielnika.
Dzielenie odbywa się na podstawie odejmowania - ile razy da się rade odjąć dzielnik od dzielnej i wynik nie będzie ujemny wtedy będziemy wiedzieć ile razy dzielnik mieści się w dzielnej.