Kalkulator uzupełnień liczb binarnych Konwersja między systemem binarnym a dziesiętnym, obsługa liczb ze znakiem i obliczenia uzupełnień
Kalkulator uzupełnienia do dwóch: opis narzędzia
Darmowe narzędzie online do konwersji liczb między systemem binarnym a dziesiętnym, obliczania uzupełnienia do 1 i uzupełnienia do 2 oraz odtwarzania oryginalnej wartości z kodu uzupełnieniowego. Obsługiwane są liczby całkowite ze znakiem i bez znaku. Żadna instalacja ani rejestracja nie jest wymagana.
Główne funkcje
- Dziesiętny → Binarny: konwersja liczb całkowitych ze znakiem i bez znaku
- Binarny → Dziesiętny: interpretacja jako liczba ze znakiem i bez znaku
- Uzupełnienie do 1: odwrócenie wszystkich bitów (0↔1)
- Uzupełnienie do 2: uzupełnienie do 1 plus 1; standardowa reprezentacja liczb ujemnych we wszystkich nowoczesnych procesorach
- Odwrotna konwersja: automatyczne odtwarzanie oryginalnej liczby z kodu uzupełnieniowego
- Długość słowa: 8, 16, 32 i 64 bity
Przypadki użycia
- Studenci informatyki i elektroniki: weryfikacja zadań z architektury komputerów i systemów cyfrowych, przygotowanie do egzaminów
- Programiści C/C++ i systemów wbudowanych: debugowanie operacji bitowych, analiza przepełnienia całkowitoliczbowego, praca z typami
int8_t,int16_t,int32_t - Programiści Java: wszystkie typy całkowitoliczbowe w Javie używają kodu uzupełnieniowego; wizualizacja masek bitowych i przesunięć
- Programiści Python: zrozumienie działania operatora
~xi masek bitowych dla liczb ujemnych - Projektanci układów cyfrowych: weryfikacja wartości wejściowych i wyjściowych jednostki arytmetyczno-logicznej (ALU) na poziomie bitowym
Instrukcja krok po kroku
- Wybierz kierunek konwersji: „Dziesiętny → Binarny" lub „Binarny → Dziesiętny"
- Wprowadź liczbę (dla ujemnych dziesiętnych użyj znaku minus, np. −42)
- Wybierz długość słowa: 8, 16, 32 lub 64 bity
- Wyniki pojawią się natychmiast: binarne bez znaku, uzupełnienie do 1, uzupełnienie do 2
- Użyj przycisku „Skopiuj do schowka", aby wkleić wynik bezpośrednio do kodu
Czym jest uzupełnienie do dwóch?
W informatyce uzupełnienie do dwóch (ang. two's complement) to powszechnie stosowana metoda reprezentacji ujemnych liczb całkowitych w komputerach. Dzięki niej operacje dodawania i odejmowania mogą być wykonywane przez ten sam układ sprzętowy, co znacznie upraszcza budowę procesorów.
Uzupełnienie do 1: wszystkie bity zostają odwrócone. Przykład: 00001010 (+10) → 11110101
Uzupełnienie do 2: uzupełnienie do 1 powiększone o 1. Przykład: 11110101 + 1 = 11110110 (reprezentacja −10 na 8 bitach)
Więcej informacji: Uzupełnienie do dwóch — Wikipedia
Przydatne wskazówki
- Zakresy wartości: 8 bitów (−128 do +127), 16 bitów (−32 768 do +32 767), 32 bity (−2 147 483 648 do +2 147 483 647).
- W przypadku przekroczenia zakresu wyświetlone zostanie ostrzeżenie o przepełnieniu — wybierz większą długość słowa.
- W C operator
~xoblicza uzupełnienie do 1, a-x— uzupełnienie do 2 (zmiana znaku). - W Pythonie wyrażenie
(~x) & 0xFFdaje uzupełnienie do 2 dla 8 bitów.
Najczęściej zadawane pytania (FAQ)
- Czy to narzędzie jest darmowe?
Tak, całkowicie bezpłatne i bez konieczności rejestracji. - Jak przekonwertować ujemną liczbę dziesiętną na binarną?
Wystarczy wpisać wartość ze znakiem minus — narzędzie automatycznie wyświetli jej reprezentację w kodzie uzupełnienia do 2. - Jaka jest różnica między uzupełnieniem do 1 a uzupełnieniem do 2?
Uzupełnienie do 1 jedynie odwraca bity, co daje dwie reprezentacje zera. Uzupełnienie do 2 eliminuje ten problem przez dodanie 1, zapewniając jednoznaczną reprezentację zera i upraszczając arytmetykę sprzętową. - Jaka jest maksymalna obsługiwana długość słowa?
Do 64 bitów włącznie. - Jak obliczyć uzupełnienie do 2 w Javie?
Operacja-xw Javie zwraca uzupełnienie do 2 (negację arytmetyczną). MetodaInteger.toBinaryString(x)wyświetla 32-bitową reprezentację uzupełnieniową.
Metody konwersji dziesiętnego na binarny w różnych językach programowania
| Java | Integer.toBinaryString(decimal_number) |
| JavaScript | let binary = decimal_number.toString(2); |
| Microsoft .NET / C# | string binary = Convert.ToString(decimal_number, 2); |
| Python | binary = bin(decimal_number)[2:] |
| Ruby | binary = decimal_number.to_s(2) |
| Go | import strconv binary := strconv.FormatInt(decimal_number, 2) |
Możesz też potrzebować