Forum

algorytm - działania na liczbach wielobajtowych

[+] Twoje konto

Subskrybuj kanał najnowszych wypowiedzi w tym temacie

Wątek zamknięty Forum > Porady > Programowanie > algorytm - działania na liczbach wielobajtowych

Mnożennie i dzielenie dużych liczb w asemblerze
Idź do strony:1
Ocena: (Ocen: 0)
Wypowiedzi 1 - 2 z 2
 Gość peeter Kopiuj nick (0.0.0.*)
Wypowiedź dodana: 22 kwietnia 2006, 01:04:20
« Opcje

potrzebuję algorytmu mnożenia i dzielenia liczb (1024 bitowych sic!) w jednostce stałoprzecinkowej. ew. opisania tegoż w c oraz algorytmu konwertujacego takie długie liczby z kodu dziesiętnego i z powrotem

- sprawa do uzgodnienia! :)

puni***@******

Jak na Forum to na Forum!

 Gość REKLAMA Kopiuj nick (*->*)
Wypowiedź dodana: 22 kwietnia 2006, 01:04:21

AvatarAdministrator Dżyszla Mężczyzna Kopiuj nick (83.15.146.*) |  
Wypowiedź dodana: 22 kwietnia 2006, 07:33:23 | Wypowiedź edytowana Ostatnio edytowana: 14 maja 2009, 19:45:00 po raz 3-ci przez: Dżyszla
« Opcje

W przypadku mnożenia nie ma najmniejszego problemu zrealizowania tego np. na kodzie BCD - tworzymy wtedy tablicę z liczbami dziesiętnymi i mnożmy "pod kreską". Jeśli cchemy bawić się w formalny zapis binarny - rodzielamy liczbę na kilka zmiennych i następnie mnożymy w identyczny sposób pamiętając o przeniesieniach (wygodnym jest tutaj assembler, gdzie bezpośrednio można odwoływać się do Carry Flag).

W przypadku dzielenia istnieje taki algorytmik, który postaram sie narysować:

START
|
reszta = 0
wynik = 0
k = xxx //liczba bitów
|
|<----------------------------------------------+
| |
CF<-RESZTA<-DZIELNA<-0 (przesunięcia bitowe) |
| |
/ \ T |
/CF=1?-----------------------+ |
\ / ^ | / \ T
\ / | reszta=reszta-dzielnik / \------>KONIEC
| N | ^ k=0?/
/ \ | | \ /
/ \ | | |
/reszta> N | | k=k-1
dzielnik?-----+ |
\ / | ^
\ / | |
| | wynik<-CF (przes. bit)
CF=0 | ^
| | |
+------------------------->+---------------------+

Realizacja tego oraz innych operacji na liczbach dowolnej długości znajduje się tutaj: https://www.dzyszla.pl/download-34.html


mgr inż. Dżyszla

Nie odpisuję na problemy zgłaszane na e-mail lub PW!

Także dzięki firmie Netlook.pl możesz za darmo korzystać z tej strony!

 
Idź do strony:1

[+] Pokaż/odśwież listę czytających i monitorujących ten wątek

Podobne tematy:
Tytuł wątkuDziałWypowiedziWyświetleńOcenaOstatnia wypowiedź
WątekGeneratory liczb losowych - Wersja programu MatLab
Komentarze do tekstu Generatory liczb losowych
Porady / Oprogramowanie, systemy operacyjne16685 17.12.2013 14:19:19
RozwiązaneWątek zamkniętyAlgorytm tworzenia tras
Pomysł na szybkie tworzenie trasy z punktu A do B omijającego przeszkody
Porady / Programowanie12318 21.03.2008 10:13:01
Wątek"Orzeźwiające" kawałki
muzyczne kawałki, które pobudzają do działania
Pogaduchy4559 26.03.2008 16:04:12

Wątek zamknięty - nie można już do niego dodawać nowych wypowiedzi

Subskrybuj kanał najnowszych wypowiedzi w tym temacie


Chcesz mieć też takie forum na swojej stronie? Napisz!

Strona istnieje od 25.01.2001
Ta strona używa plików Cookie.
Korzystając z niej wyrażasz zgodę na przetwarzanie danych a zakresie podanym w Polityce Prywatności.
Helion.pl  
archive To tylko kopia strony wykonana przez robota internetowego! Aby wyświetlić aktualną zawartość przejdź do strony.

Optymalizowane dla przeglądarki Firefox
© Copyright 2001-2018 Dawid Najgiebauer. Wszelkie prawa zastrzeżone.
Ostatnia aktualizacja podstrony: 15.07.2018 16:27
Wszystkie czasy dla strefy czasowej: Europe/Warsaw