Dodawaj, odejmuj, mnóż, dziel lub przesuwaj bity i łącz liczby w systemie binarnym, ósemkowym, dziesiętnym i szesnastkowym z dokładną arytmetyką BigInt.
O tym narzędziu
Ten kalkulator działa na dwóch argumentach w dowolnym systemie — binarnym, ósemkowym, dziesiętnym lub szesnastkowym — i pokazuje wynik jednocześnie we wszystkich czterech systemach. Wszystko działa w Twojej przeglądarce, bez połączeń sieciowych, bibliotek zaokrąglających i eval.
Każdy argument jest parsowany za pomocą JavaScript BigInt (przez prefiksy 0b, 0o i 0x lub zwykły zapis dziesiętny), więc nie ma błędu zmiennoprzecinkowego ani przepełnienia 32/64-bitowego — liczby mogą być dowolnie duże. Arytmetyka (dodawanie, odejmowanie, mnożenie, dzielenie) i operacje bitowe (AND, OR, XOR, przesunięcie w lewo, przesunięcie w prawo) są obliczane na wartościach BigInt. Dzielenie jest dzieleniem całkowitym i podaje również resztę (a mod b).
Wprowadź argument A i jego system, wybierz operację, wprowadź argument B i jego system, a wynik pojawi się natychmiast w systemie dziesiętnym (główny), binarnym, ósemkowym i szesnastkowym. Dzielenie przez zero i nieprawidłowe cyfry dla wybranego systemu są wychwytywane i pokazywane jako błąd wejścia.
Najczęściej zadawane pytania
Jak obliczane są liczby?
Oba argumenty są parsowane do BigInt i wszystkie obliczenia są wykonywane za pomocą BigInt, więc wyniki są dokładne dla dowolnie dużych liczb całkowitych, bez zaokrągleń zmiennoprzecinkowych i bez eval.
Co zwraca dzielenie?
Dzielenie jest dzieleniem całkowitym: zwraca iloraz a / b obcięty w stronę zera oraz resztę a mod b pokazaną jako osobny kafelek. Dzielenie przez zero jest odrzucane jako nieprawidłowe dane.
Czy mogę mieszać systemy, na przykład AND wartości szesnastkowej z binarną?
Tak. Argument A i argument B mają własne selektory systemu, więc możesz połączyć liczbę szesnastkową z binarną lub dziesiętną; wynik nadal jest pokazywany we wszystkich czterech systemach.
Jak obsługiwane są liczby ujemne i przesunięcia?
Wiodący znak minus jest akceptowany dla dowolnego systemu. Przesunięcia w lewo i w prawo używają drugiego argumentu jako liczby przesunięć (0 i więcej); bardzo duże lub ujemne liczby przesunięć są traktowane jako nieprawidłowe dane.