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: http://www.dzyszla.aplus.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 operacyjne16483 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 / Programowanie12312 21.03.2008 10:13:01
Wątek"Orzeźwiające" kawałki
muzyczne kawałki, które pobudzają do działania
Pogaduchy4551 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
 
archive To tylko kopia strony wykonana przez robota internetowego! Aby wyświetlić aktualną zawartość przejdź do strony.
Ładowanie...

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