Łatwo konwertuj liczby między systemami binarnym a dziesiętnym za pomocą tego darmowego narzędzia online. Natychmiastowa konwersja z edukacyjną wizualizacją.
Natychmiastowa konwersja między systemami liczbowymi binarnymi i dziesiętnymi.
Liczby binarne używają tylko 0 i 1
Liczby dziesiętne używają cyfr od 0 do 9
Wprowadź wartość w jednym z pól, aby zobaczyć konwersję w drugim polu.
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.
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:
Na przykład liczba dziesiętna 427 reprezentuje:
Dodając te wartości: 400 + 20 + 7 = 427
System binarny używa tylko dwóch cyfr (0 i 1). Każda pozycja w liczbie binarnej reprezentuje potęgę liczby 2:
Na przykład liczba binarna 1010 reprezentuje:
Dodając te wartości: 8 + 0 + 2 + 0 = 10 w systemie dziesiętnym
Aby skonwertować liczbę binarną na dziesiętną, pomnóż każdą cyfrę przez odpowiadającą jej potęgę 2 i zsumuj wyniki:
Gdzie:
Przykład: Konwersja binarnej 1101 na dziesiętną
Aby skonwertować liczbę dziesiętną na binarną, wielokrotnie dziel liczbę przez 2 i zapisuj reszty w odwrotnej kolejności:
Przykład: Konwersja dziesiętnej 25 na binarną
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:
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.
Konwersja binarno-dziesiętna jest fundamentalna w wielu dziedzinach i zastosowaniach:
Adres IPv4, taki jak 192.168.1.1, można reprezentować w systemie binarnym jako:
Razem: 11000000.10101000.00000001.00000001
Chociaż binarny i dziesiętny to najczęściej używane systemy liczbowe, inne systemy mają ważne zastosowania:
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 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
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
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:
System binarny ma bardziej niedawną, ale równie fascynującą historię:
Oto implementacje konwersji binarno-dziesiętnej w różnych językach programowania:
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
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
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
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
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
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.
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.
Aby ręcznie skonwertować liczbę binarną na dziesiętną:
Na przykład liczba binarna 1101: 1×8 + 1×4 + 0×2 + 1×1 = 8 + 4 + 0 + 1 = 13
Aby ręcznie skonwertować liczbę dziesiętną na binarną:
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
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.
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.
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.
Powszechne błędy obejmują:
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.
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.
Knuth, Donald E. "The Art of Computer Programming, Volume 2: Seminumerical Algorithms." Addison-Wesley, 1997.
Leibniz, Gottfried Wilhelm. "Explication de l'Arithmétique Binaire" (Wyjaśnienie arytmetyki binarnej). Mémoires de l'Académie Royale des Sciences, 1703.
Boole, George. "An Investigation of the Laws of Thought." Dover Publications, 1854 (wznowione w 1958).
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.
Ifrah, Georges. "The Universal History of Numbers: From Prehistory to the Invention of the Computer." Wiley, 2000.
"Binary Number." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Binary_number. Dostęp 15 sierpnia 2023.
"Decimal." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Decimal. Dostęp 15 sierpnia 2023.
"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.
Odkryj więcej narzędzi, które mogą być przydatne dla Twojego przepływu pracy