Konwerter uzupełnienia do dwóch
Konwertuj liczbę całkowitą na jej binarną reprezentację uzupełnienia do dwóch o wybranej szerokości bitu, lub zdekoduj bity z powrotem na liczbę.
Konwerter uzupełnienia do dwóch
Komputery przechowują liczby ujemne przy użyciu uzupełnienia do dwóch, a nie zwykłego znaku minus — ten sam wzór bitów oznacza inną wartość w zależności od tego, czy odczytuje się go jako liczbę ze znakiem, czy bez znaku. To narzędzie konwertuje w obu kierunkach: wpisz jedną liczbę całkowitą na wiersz, a narzędzie wygeneruje odpowiadający wzór bitów uzupełnienia do dwóch w wybranej szerokości, lub przełącz kierunek i wklej wzory bitów, aby uzyskać wartość dziesiętną, którą każdy z nich reprezentuje.
Wybierz szerokość bitu 8, 16, 32 lub 64 — rozmiary, które rzeczywiście używają procesory i języki programowania dla bajtu, krótkiej liczby, liczby całkowitej i długiej liczby — i format wyjściowy binarny lub szesnastkowy. Opcja "ze znakiem" określa, jak wartość jest interpretowana: gdy jest włączona, wzór bitów jest czytany jako uzupełnienie do dwóch (najstarszy bit oznacza liczbę ujemną), a liczba musi mieścić się w zakresie ze znakiem dla tej szerokości; gdy jest wyłączona, oba kierunki interpretują te same bity jako zwykłą liczbę bez znaku. Przełączenie kierunku zamienia kodowanie na dekodowanie bez utraty danych wejściowych, więc sprawdzenie konwersji dwukierunkowej jest jednym kliknięciem.
Przepełnienie to miejsce, gdzie uzupełnienie do dwóch staje się mylące, więc to narzędzie czyni je widocznym zamiast ukrywania: liczba spoza wybranego zakresu szerokości wciąż zawinęła się w ten sposób, w jaki zapamiętuje rzeczywisty sprzęt — to zawinięcie jest prawidłowym wzorem uzupełnienia do dwóch, a nie błędem — ale wiersze, których dotyczy, są również oznaczone i liczone w podsumowaniu, aby niezamierzone przepełnienie w partii liczb nie umknęło bez uwagi. Wyłącz tę opcję, jeśli celowo badaszo zachowanie zawinięcia i nie chcesz, aby było wskazywane.
Wklej całą kolumnę liczb lub wzorów bitów na raz; każdy wiersz jest konwertowany niezależnie i puste wiersze są zachowywane, aby wynik pozostał wyrównany z wejściem. Wszystko działa lokalnie w przeglądarce — nic, co wkleisz, w tym własnościowych stałych lub wartości firmware, nigdy nie jest wysyłane nigdzie.