Un scurt teoretic de material pe aritmetica numerelor lungi, @ MSU cmc
structuri de date
În funcție de aplicațiile, pentru a reprezenta numere întregi „lungi“ sunt utilizate fie vectori statice (matrici) sau structuri dinamice (liste).
Algoritmi de calcul aritmetică
Pentru a implementa operații aritmetice de bază +, -. x, / peste numere „lungi“ ar trebui să se bazeze pe metode standard de calcul de adunare / scădere / multiplicare „într-o coloană“ și diviziune „colț“. În același timp, avem nevoie de rutine de sprijin:- reducerea la zero număr "lung" (= 0)
- atribuirea de numere întregi „lungi“ reciproc (=)
- valorile de schimb de numere întregi „lungi“ (swap)
- Pentru determinarea numărului de biți număr „lung“ (lungime)
- compararea numerelor întregi „lungi“ (. <> )
- luând valoarea absolută a numărului „lung“ (abs)
- schimbarea semnului numărul „lung“ (INV)
- schimba numărul de „lung“ de n biți la dreapta (shiftr)
- schimbare număr „lung“ de n biți la stânga (shiftl)
Enumerăm nivel de numere întregi „lungi“, de exemplu, ai sau bi. și lăsați M egal cu radix.
Algoritmul plus „lung“ bazat pe metoda de adăugare în „coloana“. În acest ciclu, începând cu biții cei mai puțin semnificativi, adaugă transferul.
Verificați funcționarea algoritmului plus
Introduceți un argumente întreg non-negativ a și b.