Przejdź do treści

Dekoder BCD

Konwertuj ułamki dziesiętne zakodowane binarnie na liczbę dziesiętną lub odwrotnie.

Wejście
Wynik

Dekoder BCD

Dziesiętny kodowany binarnie (BCD) reprezentuje liczbę dziesiętną poprzez kodowanie każdej cyfry osobno jako własną 4-bitową grupę binarną, zamiast natychmiastowej konwersji całej liczby na postać binarną. To narzędzie odczytuje sekwencję półbajtów BCD — zapisaną z odstępami, np. „0101 0111” lub jako jeden ciągły ciąg bitów, np. „01010111” — i zwraca reprezentowaną przez nie liczbę dziesiętną. Działa również w odwrotnej kolejności: wpisz liczbę dziesiętną, a każda cyfra zostanie rozwinięta do 4-bitowego półbajtu BCD.

Kierunek jest wykrywany automatycznie: ciąg składający się tylko z 0 i 1 jest odczytywany jako BCD do dekodowania, wszystko inne jest traktowane jako liczba dziesiętna do zakodowania. Użyj opcji kierunku, aby wymusić jeden tryb, gdy dane wejściowe są niejednoznaczne, na przykład krótki ciąg, taki jak „10”, który jest ważny w obu przypadkach. Separator półbajtów kontroluje sposób rozdzielania grup podczas dekodowania i ponownego łączenia podczas kodowania — domyślnie jest to spacja, ale działa dowolny znak lub pusty ciąg znaków, dzięki czemu można dopasować format oczekiwany przez arkusz danych lub starszy system.

Każda grupa 4-bitowa jest sprawdzana podczas odczytu. Grupa, która nie ma dokładnie 4 bitów lub mieści się w zakresie 1010–1111, którego BCD nigdy nie używa, jest zgłaszana jako błąd w nazwie grupy powodującej naruszenie, a nie po cichu zamieniona na błędną cyfrę — ta sama ostrożność ma znaczenie w przypadku protokołów sprzętowych, zrzutów szeregowych i starych formatów baz danych, gdzie błędnie odczytany półbajt oznacza uszkodzoną wartość. Wiodące cyfry zerowe są zachowywane, ponieważ zerowa półbajt jest rzeczywistą pozycją cyfry w BCD, a nie dopełnieniem do paska.

Wszystko działa lokalnie w Twojej przeglądarce. Wklejane ciągi BCD i liczby dziesiętne nigdy nie są nigdzie przesyłane, można więc bezpiecznie używać danych pobranych z rzeczywistych urządzeń wbudowanych, chipów RTC, kalkulatorów lub innych systemów, które nadal przechowują wartości w formacie BCD.

Częste pytania

Jakie formaty wejściowe akceptuje?
Oddzielone spacjami półbajty, takie jak „0101 0111” lub jeden ciągły ciąg bitów, np. „01010111” — oba dekodują z tym samym wynikiem. Separator niestandardowy (przecinek, myślnik, nowa linia…) działa również po ustawieniu go w opcji separatora półbajtów.
Dlaczego odrzuca niektóre grupy 4-bitowe?
BCD przypisuje znaczenie tylko cyfrom od 0000 do 1001 (cyfry 0–9). Grupy od 1010 do 1111 nie mają cyfry dziesiętnej w BCD, więc narzędzie oznacza je jako błąd, zamiast zgadywać wartość.
Jak przekonwertować liczbę dziesiętną na BCD?
Ustaw kierunek na „Dziesiętny na BCD” (lub po prostu wpisz liczbę z cyfrą powyżej 1 — automatyczne wykrywanie kodowania). Każda cyfra staje się odrębną 4-bitową półbajtem, połączoną wybranym przez Ciebie separatorem.
Czy poprawnie obsługuje początkowe cyfry zerowe?
Tak. „0000 0101 0111” dekoduje do „057”, a nie „57” — poprzedzające zera półbajt jest traktowane jako pozycja cyfry rzeczywistej, ponieważ w ten sposób upakowany BCD reprezentuje liczby o stałej szerokości.
Czy moje dane są gdzieś przesłane?
Nie. Konwersja odbywa się całkowicie w Twojej przeglądarce, a Twoje dane nigdy nie opuszczają Twojego urządzenia.