Jak korzystać z narzędzia
- 1Aby przeliczać liczby, zostań w zakładce „Systemy liczbowe” i wpisz wartość w dowolnym polu – dziesiętnym, binarnym, ósemkowym lub szesnastkowym. Pozostałe trzy zaktualizują się natychmiast.
- 2Prefiksy takie jak
0b,0oi0x, znak minus oraz spacje lub podkreślenia między cyframi są dozwolone. Wybierz, czy grupować cyfry binarne po cztery (półbajty), czy po osiem (bajty). - 3Aby zamienić tekst, przejdź do zakładki „Tekst ↔ binarny” i wpisz wiadomość – otrzymasz jej bajty UTF-8 w zapisie binarnym, szesnastkowym lub dziesiętnym.
- 4Aby odczytać kod binarny, wybierz przeciwny kierunek i wklej bajty, ze spacjami lub bez. „Zamień” odwraca kierunek i zachowuje wynik.
Jak działają liczby binarne
System binarny (dwójkowy) ma podstawę 2: każda cyfra, zwana bitem, to 0 lub 1, a każda pozycja jest warta dwa razy więcej niż ta po jej prawej stronie – 1, 2, 4, 8, 16 i tak dalej. Zatem 1011 to 8 + 0 + 2 + 1 = 11. System dziesiętny działa tak samo z potęgami 10, ósemkowy z potęgami 8, a szesnastkowy z potęgami 16, przy czym dla wartości od 10 do 15 używa liter A–F.
Programiści lubią system szesnastkowy, bo jedna cyfra szesnastkowa to dokładnie cztery bity: F to 1111, więc bajt 1111 0000 to po prostu F0. Cyfry ósemkowe odpowiadają trzem bitom i przetrwały głównie w uniksowych uprawnieniach plików, takich jak 755.
Konwerter używa liczb całkowitych o dowolnej precyzji, więc nie ogranicza się do 32 czy 64 bitów – działają nawet liczby o tysiącach cyfr. Liczby ujemne dostają znak minus, a pod polami widać też ich kod uzupełnień do dwóch (U2), czyli postać, w jakiej komputery faktycznie je przechowują.
Jak tekst staje się kodem binarnym
Komputery przechowują tekst jako liczby. Unicode przypisuje każdemu znakowi numer, tzw. punkt kodowy – A to 65, é to 233, € to 8364 – a UTF-8 zapisuje ten numer za pomocą od jednego do czterech bajtów. Litery alfabetu angielskiego i cyfry zajmują po jednym bajcie, litery ze znakami diakrytycznymi (np. ą czy ż) – dwa, większość innych pism – trzy, a emoji – cztery.
Dlatego „Hi” staje się 01001000 01101001: bajt 72 dla H i 105 dla i. Ponieważ narzędzie używa UTF-8 – kodowania stosowanego w sieci – otrzymane bajty odpowiadają temu, co naprawdę wysyłają programy i strony internetowe.
Odczytywanie kodu binarnego
Wiadomości binarne zapisuje się zwykle w grupach po osiem bitów – jedna grupa na bajt. Jeśli grupy mają tylko po siedem bitów, bo inny konwerter pominął zero na początku, narzędzie nadal je odczyta, o ile bajty są oddzielone spacjami. Bez spacji łączna liczba bitów musi być wielokrotnością ośmiu – inaczej nie da się ustalić, gdzie kończy się jeden bajt, a zaczyna następny.
Jeśli bajty nie tworzą prawidłowego UTF-8, znaki, których nie da się zdekodować, pojawiają się jako �. Zwykle oznacza to, że dane w ogóle nie są tekstem albo zostały zapisane w starszym zestawie znaków, np. Windows-1250.
Pytania i odpowiedzi
Jak zamienić liczbę binarną na dziesiętną?
Pomnóż każdy bit przez wartość jego pozycji i zsumuj wyniki. Dla 101101 to 32 + 8 + 4 + 1 = 45. Możesz też wpisać liczbę binarną w pole „Binarny” powyżej i od razu odczytać wartość dziesiętną.
Jak zapisać swoje imię w kodzie binarnym?
Otwórz zakładkę „Tekst ↔ binarny” i wpisz swoje imię. Każda litera staje się jednym 8-bitowym bajtem – na przykład A to 01000001, a a to 01100001. Litery ze znakami diakrytycznymi i znaki z innych alfabetów zajmują dwa lub więcej bajtów.
Czym różni się bit od bajta?
Bit to pojedyncza cyfra binarna, 0 lub 1. Bajt to grupa ośmiu bitów i może przyjąć 256 różnych wartości, od 0 do 255 (00000000 do 11111111). Rozmiary plików podaje się w bajtach, a prędkości internetu zwykle w bitach na sekundę.
Jak przechowuje się liczby ujemne w systemie binarnym?
Prawie wszystkie komputery używają kodu uzupełnień do dwóch (U2): aby otrzymać −x, odwróć każdy bit x i dodaj 1. W 8 bitach −1 to 11111111, a −128 to 10000000. Konwerter pokazuje kod U2 każdej liczby ujemnej w najmniejszej typowej szerokości – 8, 16, 32 lub 64 bity.
Dlaczego programiści używają systemu szesnastkowego zamiast binarnego?
Zapis szesnastkowy jest znacznie krótszy i bezpośrednio przekłada się na binarny, bo każda cyfra szesnastkowa odpowiada dokładnie czterem bitom. Wartość 32-bitowa wymaga 32 cyfr binarnych, ale tylko 8 szesnastkowych – dlatego adresy w pamięci, kody kolorów, np. #FF8800, i hashe zapisuje się szesnastkowo.