🛠️

Whiz Tools

Build • Create • Innovate

Konwerter binarno-decymalny: Konwertuj między systemami liczbowymi

Łatwo konwertuj liczby między systemami binarnym a dziesiętnym za pomocą tego darmowego narzędzia online. Natychmiastowa konwersja z edukacyjną wizualizacją.

Konwerter binarno-decymalny

Natychmiastowa konwersja między systemami liczbowymi binarnymi i dziesiętnymi.

Kopiuj

Liczby binarne używają tylko 0 i 1

Kopiuj

Liczby dziesiętne używają cyfr od 0 do 9

Wprowadź wartość w jednym z pól, aby zobaczyć konwersję w drugim polu.

Wprowadź wartość w jednym z pól, aby zobaczyć konwersję w drugim polu.

📚

Dokumentacja

Konwerter Binarny-Dekadowy: Natychmiastowa konwersja między systemami liczbowymi

Wprowadzenie

Konwerter Binarny-Dekadowy to niezbędne narzędzie dla każdego, kto pracuje z różnymi systemami liczbowymi. Liczby binarne (podstawa-2) i dziesiętne (podstawa-10) to dwa podstawowe systemy numeryczne używane w informatyce i matematyce. Nasz konwerter binarny na dziesiętny pozwala na natychmiastowe tłumaczenie liczb między tymi systemami z doskonałą dokładnością. Niezależnie od tego, czy jesteś studentem informatyki uczącym się o reprezentacji binarnej, programistą debugującym kod, czy entuzjastą elektroniki pracującym z obwodami cyfrowymi, ten konwerter upraszcza proces konwersji między formatami liczb binarnych i dziesiętnych bez potrzeby skomplikowanych obliczeń ręcznych.

Liczby binarne, składające się wyłącznie z 0 i 1, stanowią fundament wszystkich cyfrowych systemów komputerowych, podczas gdy system dziesiętny z cyframi 0-9 jest tym, co używamy w codziennym życiu. Zrozumienie relacji między tymi systemami jest kluczowe dla każdego, kto zajmuje się informatyką, programowaniem lub elektroniką cyfrową. To narzędzie wypełnia lukę między tymi systemami liczbowymi, czyniąc konwersje bezwysiłkowymi i wolnymi od błędów.

Jak działają systemy liczbowe binarne i dziesiętne

Zrozumienie systemu dziesiętnego (podstawa-10)

System dziesiętny to nasz standardowy system liczbowy, używający 10 cyfr (0-9). W tym systemie pozycyjnym każda pozycja cyfry reprezentuje potęgę liczby 10:

Liczba dziesiętna=dn×10n+dn1×10n1+...+d1×101+d0×100\text{Liczba dziesiętna} = d_n \times 10^n + d_{n-1} \times 10^{n-1} + ... + d_1 \times 10^1 + d_0 \times 10^0

Na przykład liczba dziesiętna 427 reprezentuje:

  • 4 × 10² (400)
  • 2 × 10¹ (20)
  • 7 × 10⁰ (7)

Dodając te wartości: 400 + 20 + 7 = 427

Zrozumienie systemu binarnego (podstawa-2)

System binarny używa tylko dwóch cyfr (0 i 1). Każda pozycja w liczbie binarnej reprezentuje potęgę liczby 2:

Liczba binarna=bn×2n+bn1×2n1+...+b1×21+b0×20\text{Liczba binarna} = b_n \times 2^n + b_{n-1} \times 2^{n-1} + ... + b_1 \times 2^1 + b_0 \times 2^0

Na przykład liczba binarna 1010 reprezentuje:

  • 1 × 2³ (8)
  • 0 × 2² (0)
  • 1 × 2¹ (2)
  • 0 × 2⁰ (0)

Dodając te wartości: 8 + 0 + 2 + 0 = 10 w systemie dziesiętnym

Wzory i algorytmy konwersji

Konwersja z binarnego na dziesiętny

Aby skonwertować liczbę binarną na dziesiętną, pomnóż każdą cyfrę przez odpowiadającą jej potęgę 2 i zsumuj wyniki:

Dziesiętna=i=0nbi×2i\text{Dziesiętna} = \sum_{i=0}^{n} b_i \times 2^i

Gdzie:

  • bib_i to cyfra binarna (0 lub 1)
  • ii to pozycja od prawej do lewej (zaczynając od 0)
  • nn to liczba cyfr w liczbie binarnej minus 1

Przykład: Konwersja binarnej 1101 na dziesiętną

  1. 1 × 2³ = 8
  2. 1 × 2² = 4
  3. 0 × 2¹ = 0
  4. 1 × 2⁰ = 1
  5. Suma: 8 + 4 + 0 + 1 = 13

Konwersja z dziesiętnego na binarny

Aby skonwertować liczbę dziesiętną na binarną, wielokrotnie dziel liczbę przez 2 i zapisuj reszty w odwrotnej kolejności:

  1. Podziel liczbę dziesiętną przez 2
  2. Zapisz resztę (0 lub 1)
  3. Podziel iloraz przez 2
  4. Powtarzaj kroki 2-3, aż iloraz stanie się 0
  5. Przeczytaj reszty od dołu do góry

Przykład: Konwersja dziesiętnej 25 na binarną

  1. 25 ÷ 2 = 12 reszta 1
  2. 12 ÷ 2 = 6 reszta 0
  3. 6 ÷ 2 = 3 reszta 0
  4. 3 ÷ 2 = 1 reszta 1
  5. 1 ÷ 2 = 0 reszta 1
  6. Czytając od dołu do góry: 11001

Przewodnik krok po kroku korzystania z konwertera binarno-dziesiętnego

Nasz konwerter binarno-dziesiętny został zaprojektowany tak, aby był intuicyjny i przyjazny dla użytkownika. Postępuj zgodnie z tymi prostymi krokami, aby konwertować między liczbami binarnymi a dziesiętnymi:

Konwersja z binarnego na dziesiętny

  1. Wprowadź liczbę binarną: Wpisz liczbę binarną (składającą się tylko z 0 i 1) w polu wejściowym „Binarna”.
  2. Zobacz wynik: Odpowiednik dziesiętny automatycznie pojawi się w polu „Dziesiętna”.
  3. Skopiuj wynik: Kliknij przycisk „Kopiuj” obok wyniku dziesiętnego, aby skopiować go do schowka.

Konwersja z dziesiętnego na binarny

  1. Wprowadź liczbę dziesiętną: Wpisz nieujemną liczbę całkowitą w polu wejściowym „Dziesiętna”.
  2. Zobacz wynik: Odpowiednik binarny automatycznie pojawi się w polu „Binarna”.
  3. Skopiuj wynik: Kliknij przycisk „Kopiuj” obok wyniku binarnego, aby skopiować go do schowka.

Zrozumienie procesu konwersji

Konwerter zapewnia również wizualne wyjaśnienie procesu konwersji, pokazując dokładnie, jak każda konwersja jest wykonywana matematycznie. Ta funkcja edukacyjna pomaga zrozumieć podstawowe zasady konwersji systemów liczbowych.

Proces konwersji z binarnego na dziesiętny Ilustracja, jak liczby binarne konwertują na wartości dziesiętne

Konwersja z binarnego na dziesiętny

Liczba binarna: 1 0 1 0

Wartości pozycyjne:

1 0 1 0

2³ = 8 2² = 4 2¹ = 2 2⁰ = 1

Obliczenia: 1 × 8 + 0 × 4 + 1 × 2 + 0 × 1 = 8 + 0 + 2 + 0 = 10

Dziesiętna: 10

Praktyczne zastosowania i przypadki użycia

Konwersja binarno-dziesiętna jest fundamentalna w wielu dziedzinach i zastosowaniach:

Informatyka i programowanie

  • Reprezentacja danych: Zrozumienie, jak komputery przechowują i reprezentują dane wewnętrznie
  • Debugowanie: Konwersja między systemami liczbowymi w celu weryfikacji adresów pamięci i wartości
  • Operacje bitowe: Wykonywanie operacji takich jak AND, OR, XOR na reprezentacjach binarnych
  • Rozwój algorytmów: Implementacja algorytmów działających na danych binarnych

Elektronika cyfrowa

  • Projektowanie obwodów: Projektowanie i analizowanie obwodów cyfrowych działających na logice binarnej
  • Programowanie mikrokontrolerów: Praca z rejestrami i adresami pamięci w systemach wbudowanych
  • Interfejsy sprzętowe: Zrozumienie protokołów komunikacyjnych między komponentami sprzętowymi

Edukacja

  • Edukacja w zakresie informatyki: Nauczanie podstawowych koncepcji systemów liczbowych
  • Edukacja matematyczna: Badanie różnych podstaw liczbowych i technik konwersji
  • Logika i algebra Boole'a: Zrozumienie relacji między liczbami binarnymi a operacjami logicznymi

Codzienne korzystanie z komputerów

  • Adresacja IP: Zrozumienie reprezentacji binarnej w sieciach (IPv4/IPv6)
  • Uprawnienia plików: Uprawnienia plików w systemach Unix/Linux są często reprezentowane w binarnym/ósemkowym
  • Kody kolorów: Wartości kolorów RGB mogą być reprezentowane w formacie binarnym lub szesnastkowym

Przykład: Konwersja adresów IP

Adres IPv4, taki jak 192.168.1.1, można reprezentować w systemie binarnym jako:

  • 192 = 11000000
  • 168 = 10101000
  • 1 = 00000001
  • 1 = 00000001

Razem: 11000000.10101000.00000001.00000001

Alternatywy dla konwersji binarno-dziesiętnej

Chociaż binarny i dziesiętny to najczęściej używane systemy liczbowe, inne systemy mają ważne zastosowania:

Szesnastkowy (podstawa-16)

Szesnastkowy używa 16 cyfr (0-9 i A-F) i często jest używany jako bardziej zwięzły sposób reprezentacji danych binarnych. Każda cyfra szesnastkowa reprezentuje dokładnie 4 cyfry binarne.

Przykład: Binarna 1010 1101 = Szesnastkowa AD

Ósemkowy (podstawa-8)

Ósemkowy używa 8 cyfr (0-7) i był historycznie ważny w informatyce. Każda cyfra ósemkowa reprezentuje dokładnie 3 cyfry binarne.

Przykład: Binarna 101 011 = Ósemkowa 53

Binarna reprezentacja dziesiętna (BCD)

BCD reprezentuje każdą cyfrę dziesiętną przy użyciu ustalonej liczby cyfr binarnych (zwykle 4). Jest używana w aplikacjach, w których wymagana jest reprezentacja dziesiętna, takich jak zegary cyfrowe.

Przykład: Dziesiętna 42 w BCD = 0100 0010

Historia systemów liczbowych binarnych i dziesiętnych

Początki systemu dziesiętnego

System dziesiętny był dominującym systemem liczbowym w historii ludzkości, prawdopodobnie dlatego, że ludzie mają dziesięć palców. Dowody na istnienie dziesiętnych systemów liczenia sięgają starożytnych cywilizacji:

  • Starożytny Egipt (3000 p.n.e.): Hieroglify liczbowe używały systemu opartego na 10
  • Babilończycy (2000 p.n.e.): Używali mieszanki systemów opartego na 60 i 10
  • Matematyka indyjska (500 n.e.): Opracowano koncepcję zera i notacji pozycyjnej
  • Matematyka arabska (800 n.e.): Rozprzestrzeniła system cyfr hindusko-arabskich w Europie

Rozwój systemu binarnego

System binarny ma bardziej niedawną, ale równie fascynującą historię:

  • Starożytne Chiny (1000 p.n.e.): I Ching używał notacji przypominającej binarną z przerwanymi i nieprzerwanymi liniami
  • Gottfried Wilhelm Leibniz (1679): Opublikował "Wyjaśnienie arytmetyki binarnej", pierwsze formalne opracowanie systemu binarnego
  • George Boole (1854): Opracował algebrę Boole'a, która używa wartości binarnych (prawda/fałsz)
  • Claude Shannon (1937): Zastosował algebrę Boole'a do obwodów elektronicznych, kładąc fundamenty pod cyfrowe obliczenia

Binarne w nowoczesnej informatyce

  • John Atanasoff i Clifford Berry (1939): Zaprojektowali pierwszy elektroniczny komputer cyfrowy używający arytmetyki binarnej
  • John von Neumann (1945): Zaproponował architekturę komputera z przechowywaniem programu używającą kodu binarnego
  • IBM (1953): Wydał IBM 701, jeden z pierwszych komercyjnie udanych komputerów binarnych
  • ASCII (1963): Ustandaryzowano binarną reprezentację znaków i symboli
  • Nowoczesna informatyka: Wszystkie komputery cyfrowe zasadniczo działają w systemie binarnym, chociaż wyższe poziomy abstrakcji ukrywają to przed większością użytkowników

Przykłady kodu do konwersji binarno-dziesiętnej

Oto implementacje konwersji binarno-dziesiętnej w różnych językach programowania:

JavaScript

1// Konwersja z binarnego na dziesiętny
2function binaryToDecimal(binary) {
3  if (!/^[01]+$/.test(binary)) {
4    return "Nieprawidłowa liczba binarna";
5  }
6  return parseInt(binary, 2);
7}
8
9// Konwersja z dziesiętnego na binarny
10function decimalToBinary(decimal) {
11  if (!/^\d+$/.test(decimal) || decimal < 0) {
12    return "Nieprawidłowa liczba dziesiętna";
13  }
14  return Number(decimal).toString(2);
15}
16
17// Przykład użycia
18console.log(binaryToDecimal("1010")); // Zwraca: 10
19console.log(decimalToBinary("42"));   // Zwraca: 101010
20

Python

1# Konwersja z binarnego na dziesiętny
2def binary_to_decimal(binary):
3    try:
4        # Sprawdź, czy wejście zawiera tylko 0 i 1
5        if not all(bit in '01' for bit in binary):
6            return "Nieprawidłowa liczba binarna"
7        return int(binary, 2)
8    except ValueError:
9        return "Nieprawidłowa liczba binarna"
10
11# Konwersja z dziesiętnego na binarny
12def decimal_to_binary(decimal):
13    try:
14        # Sprawdź, czy wejście jest nieujemną liczbą całkowitą
15        decimal = int(decimal)
16        if decimal < 0:
17            return "Nieprawidłowa liczba dziesiętna"
18        return bin(decimal)[2:]  # Usuń prefiks '0b'
19    except ValueError:
20        return "Nieprawidłowa liczba dziesiętna"
21
22# Przykład użycia
23print(binary_to_decimal("1010"))  # Zwraca: 10
24print(decimal_to_binary("42"))    # Zwraca: 101010
25

Java

1public class KonwerterBinarnyDekadowy {
2    // Konwersja z binarnego na dziesiętny
3    public static int binaryToDecimal(String binary) {
4        if (!binary.matches("[01]+")) {
5            throw new IllegalArgumentException("Nieprawidłowa liczba binarna");
6        }
7        return Integer.parseInt(binary, 2);
8    }
9    
10    // Konwersja z dziesiętnego na binarny
11    public static String decimalToBinary(int decimal) {
12        if (decimal < 0) {
13            throw new IllegalArgumentException("Nieobsługiwane liczby ujemne");
14        }
15        return Integer.toBinaryString(decimal);
16    }
17    
18    public static void main(String[] args) {
19        System.out.println(binaryToDecimal("1010"));  // Zwraca: 10
20        System.out.println(decimalToBinary(42));      // Zwraca: 101010
21    }
22}
23

C++

1#include <iostream>
2#include <string>
3#include <cmath>
4#include <regex>
5
6// Konwersja z binarnego na dziesiętny
7int binaryToDecimal(const std::string& binary) {
8    // Sprawdź, czy wejście zawiera tylko 0 i 1
9    if (!std::regex_match(binary, std::regex("[01]+"))) {
10        throw std::invalid_argument("Nieprawidłowa liczba binarna");
11    }
12    
13    int decimal = 0;
14    for (int i = 0; i < binary.length(); i++) {
15        if (binary[binary.length() - 1 - i] == '1') {
16            decimal += std::pow(2, i);
17        }
18    }
19    return decimal;
20}
21
22// Konwersja z dziesiętnego na binarny
23std::string decimalToBinary(int decimal) {
24    if (decimal < 0) {
25        throw std::invalid_argument("Nieobsługiwane liczby ujemne");
26    }
27    
28    if (decimal == 0) {
29        return "0";
30    }
31    
32    std::string binary = "";
33    while (decimal > 0) {
34        binary = (decimal % 2 == 0 ? "0" : "1") + binary;
35        decimal /= 2;
36    }
37    return binary;
38}
39
40int main() {
41    std::cout << binaryToDecimal("1010") << std::endl;  // Zwraca: 10
42    std::cout << decimalToBinary(42) << std::endl;      // Zwraca: 101010
43    return 0;
44}
45

Excel

1' Konwersja z binarnego na dziesiętny
2Function BinaryToDecimal(binary As String) As Variant
3    ' Sprawdź, czy wejście zawiera tylko 0 i 1
4    Dim i As Integer
5    For i = 1 To Len(binary)
6        If Mid(binary, i, 1) <> "0" And Mid(binary, i, 1) <> "1" Then
7            BinaryToDecimal = CVErr(xlErrValue)
8            Exit Function
9        End If
10    Next i
11    
12    BinaryToDecimal = Application.WorksheetFunction.Bin2Dec(binary)
13End Function
14
15' Konwersja z dziesiętnego na binarny
16Function DecimalToBinary(decimal As Long) As String
17    If decimal < 0 Then
18        DecimalToBinary = CVErr(xlErrValue)
19        Exit Function
20    End If
21    
22    DecimalToBinary = Application.WorksheetFunction.Dec2Bin(decimal)
23End Function
24
25' Przykład użycia w komórce:
26' =BinaryToDecimal("1010")  ' Zwraca: 10
27' =DecimalToBinary(42)      ' Zwraca: 101010
28

Najczęściej zadawane pytania

Czym jest liczba binarna?

Liczba binarna to liczba wyrażona w systemie liczbowym o podstawie 2, który używa tylko dwóch symboli: zazwyczaj "0" i "1". Każda cyfra nazywana jest bitem (cyfrą binarną). Liczby binarne są fundamentem cyfrowej informatyki, ponieważ wszystkie dane w komputerach są ostatecznie reprezentowane w formie binarnej.

Dlaczego komputery używają systemu binarnego zamiast dziesiętnego?

Komputery używają systemu binarnego, ponieważ komponenty elektroniczne mogą łatwo reprezentować dwa stany: włączony/wyłączony, wysoki/niski napięcie lub polarności magnetyczne. Binarne jest również matematycznie prostsze do wdrożenia w sprzęcie, co sprawia, że komputery są bardziej niezawodne i wydajne. Dodatkowo, logika Boole'a (AND, OR, NOT) idealnie pasuje do operacji binarnych.

Jak ręcznie skonwertować liczbę binarną na dziesiętną?

Aby ręcznie skonwertować liczbę binarną na dziesiętną:

  1. Zapisz liczbę binarną
  2. Przypisz wagi każdej pozycji (od prawej do lewej: 1, 2, 4, 8, 16, itd.)
  3. Pomnóż każdą cyfrę binarną przez jej wagę
  4. Zsumuj wszystkie wyniki

Na przykład liczba binarna 1101: 1×8 + 1×4 + 0×2 + 1×1 = 8 + 4 + 0 + 1 = 13

Jak ręcznie skonwertować liczbę dziesiętną na binarną?

Aby ręcznie skonwertować liczbę dziesiętną na binarną:

  1. Podziel liczbę dziesiętną przez 2
  2. Zapisz resztę (0 lub 1)
  3. Podziel iloraz przez 2
  4. Powtarzaj, aż iloraz stanie się 0
  5. Przeczytaj reszty od dołu do góry

Na przykład liczba dziesiętna 13: 13 ÷ 2 = 6 reszta 1 6 ÷ 2 = 3 reszta 0 3 ÷ 2 = 1 reszta 1 1 ÷ 2 = 0 reszta 1 Czytając od dołu do góry: 1101

Czy ten konwerter obsługuje liczby ujemne?

Nasza obecna implementacja koncentruje się na nieujemnych liczbach całkowitych dla uproszczenia i celów edukacyjnych. Liczby ujemne w systemie binarnym zazwyczaj używają technik takich jak reprezentacja z znakiem, dopełnienie jedynkowe lub dopełnienie dwójkowe, które są bardziej zaawansowanymi koncepcjami.

Jaka jest największa liczba, którą mogę skonwertować za pomocą tego narzędzia?

Konwerter może obsługiwać liczby całkowite do bezpiecznego limitu liczb całkowitych w JavaScript (2^53 - 1), co wynosi 9 007 199 254 740 991. Dla wejść binarnych oznacza to do 53 bitów. Dla niezwykle dużych liczb wymagane byłyby specjalistyczne biblioteki.

Jak reprezentowane są ułamki dziesiętne w systemie binarnym?

Ułamki dziesiętne są reprezentowane w systemie binarnym przy użyciu ułamków binarnych. Na przykład, 0.5 dziesiętne to 0.1 binarne (1×2^-1). Proces polega na mnożeniu części ułamkowej przez 2 i zapisywaniu części całkowitej, aż osiągniesz 0 lub zaczniesz powtarzać. Nasz obecny konwerter koncentruje się wyłącznie na liczbach całkowitych.

Jakie są powszechne błędy podczas konwersji między systemami binarnym a dziesiętnym?

Powszechne błędy obejmują:

  • Zapominanie o wartościach pozycyjnych (potęgach 2)
  • Źle liczenie pozycji (szczególnie w dłuższych liczbach)
  • Mylenie systemu binarnego z innymi systemami liczbowymi
  • Błędy w przenoszeniu lub pożyczaniu podczas ręcznej konwersji
  • Nieczytanie cyfr binarnych od prawej do lewej przy obliczaniu wartości dziesiętnej

Jak binarny jest używany w adresowaniu pamięci komputerowej?

Pamięć komputerowa jest zorganizowana jako sekwencja adresowalnych lokalizacji. Każda lokalizacja ma unikalny adres, który jest zasadniczo liczbą. Te adresy są reprezentowane w systemie binarnym w obwodach komputera. Gdy program potrzebuje uzyskać dostęp do pamięci, określa binarny adres żądanej lokalizacji.

Jaka jest różnica między systemami binarnym, ósemkowym i szesnastkowym?

  • Binarna (podstawa-2): Używa 2 cyfr (0-1)
  • Ósemkowa (podstawa-8): Używa 8 cyfr (0-7)
  • Szesnastkowa (podstawa-16): Używa 16 cyfr (0-9, A-F)

Wszystkie trzy to systemy liczbowe pozycyjne, ale z różnymi podstawami. Szesnastkowy i ósemkowy są często używane jako bardziej zwięzłe sposoby reprezentacji danych binarnych, przy czym każda cyfra szesnastkowa reprezentuje 4 cyfry binarne, a każda cyfra ósemkowa reprezentuje 3 cyfry binarne.

Odnośniki

  1. Knuth, Donald E. "The Art of Computer Programming, Volume 2: Seminumerical Algorithms." Addison-Wesley, 1997.

  2. Leibniz, Gottfried Wilhelm. "Explication de l'Arithmétique Binaire" (Wyjaśnienie arytmetyki binarnej). Mémoires de l'Académie Royale des Sciences, 1703.

  3. Boole, George. "An Investigation of the Laws of Thought." Dover Publications, 1854 (wznowione w 1958).

  4. Shannon, Claude E. "A Symbolic Analysis of Relay and Switching Circuits." Transactions of the American Institute of Electrical Engineers, vol. 57, no. 12, 1938, s. 713-723.

  5. Ifrah, Georges. "The Universal History of Numbers: From Prehistory to the Invention of the Computer." Wiley, 2000.

  6. "Binary Number." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Binary_number. Dostęp 15 sierpnia 2023.

  7. "Decimal." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Decimal. Dostęp 15 sierpnia 2023.

  8. "Number System Conversion." National Institute of Standards and Technology, https://www.nist.gov/dads/HTML/numbersysconv.html. Dostęp 15 sierpnia 2023.

Wypróbuj nasz konwerter binarno-dziesiętny już teraz, aby szybko i dokładnie konwertować między systemami liczbowymi binarnym i dziesiętnym. Niezależnie od tego, czy studiujesz informatykę, pracujesz nad projektami elektroniki cyfrowej, czy po prostu jesteś ciekawy, jak komputery reprezentują liczby, nasze narzędzie upraszcza proces konwersji i edukacji.