unsigned long

0

Wiadomo, że Java nie udostępnia typów Unsigned przez co zmniejszony jest zakres liczby dodatnej do połowy (long mieści się na 64 bitach, ale w Javie jest typem signed, czyli leży w zakresie od -263..263-1).
Często przenosząc algorytm z C do Javy występuje problem zmniejszonego zakresu liczby dodatniej w operacjach arytmetycznych albo problem zapisu liczby long w operacjach strumieniowych np. niektóre protokoły wymagają typu unsigned long.

Proponuję zebrać w tym wątku wszystkie algorytmy arytmetyczne dotyczące mnożenia, dzielenia, dodawania i odejmowania 64 bitowych liczb unsigned long. Liczby mogłyby być reprezentowane np. w postaci tablicy char [], w postaci bitowej albo strumienia.

Funkcja miałaby postać MójTyp Operacja(MójTyp a,MójTyp b)

Metoda implementacji dowolna, od prostego przetwarzania na tablicach, użycia operatorów bitowych &^! po wstawki assemblerowe.
Po zgromadzeniu dużej ilości algorytmów zostałyby one przetestowane pod kątem wydajności na jednym komputerze. Z najlepszych powstałaby biblioteka udostępniająca 4 podstawowe funkcje arytmetyczne.

0

Do tego typu prac służy serwis i tworzona wspólnymi siłami encyklopedia. Zapraszam do edycji artykułu
Emulacja liczb unsigned

1 użytkowników online, w tym zalogowanych: 0, gości: 1