Snadno převádějte čísla mezi binárním a desítkovým systémem pomocí tohoto bezplatného online nástroje. Okamžitý převod s edukativní vizualizací.
Okamžitě převádějte mezi binárními a desítkovými číselnými systémy.
Binární čísla používají pouze 0 a 1
Desítková čísla používají číslice 0-9
Zadejte hodnotu do jednoho pole, abyste viděli převod v druhém poli.
Konvertor Binárních a Desetinných Čísel je nezbytným nástrojem pro každého, kdo pracuje s různými číselnými systémy. Binární (základ-2) a desetinný (základ-10) jsou dva základní numerické systémy používané v počítačových a matematických aplikacích. Náš konvertor binárních na desetinné číslo vám umožňuje okamžitě překládat čísla mezi těmito systémy s dokonalou přesností. Ať už jste student informatiky, který se učí o binární reprezentaci, programátor, který ladí kód, nebo nadšenec do elektroniky, který pracuje s digitálními obvody, tento konvertor zjednodušuje proces převodu mezi binárními a desetinnými formáty čísel bez nutnosti složitých ručních výpočtů.
Binární čísla, skládající se pouze z 0 a 1, tvoří základ všech digitálních počítačových systémů, zatímco desetinný systém s číslicemi 0-9 je to, co používáme v každodenním životě. Pochopení vztahu mezi těmito systémy je zásadní pro každého, kdo se zabývá informatikou, programováním nebo digitální elektronikou. Tento nástroj překonává rozdíly mezi těmito číselnými systémy, což činí převody snadné a bezchybné.
Desetinný systém je náš standardní číselný systém, který používá 10 číslic (0-9). V tomto pozičním číselném systému každá pozice číslice představuje mocninu 10:
Například desetinné číslo 427 představuje:
Sečtením těchto hodnot: 400 + 20 + 7 = 427
Binární systém používá pouze dvě číslice (0 a 1). Každá pozice v binárním čísle představuje mocninu 2:
Například binární číslo 1010 představuje:
Sečtením těchto hodnot: 8 + 0 + 2 + 0 = 10 v desítkové soustavě
Chcete-li převést binární číslo na desetinné, vynásobte každou číslici jejím odpovídajícím mocninou 2 a sečtěte výsledky:
Kde:
Příklad: Převod binárního čísla 1101 na desetinné
Chcete-li převést desetinné číslo na binární, opakovaně dělejte číslo 2 a zaznamenávejte zbytky v opačném pořadí:
Příklad: Převod desetinného čísla 25 na binární
Náš konvertor binárních a desetinných čísel je navržen tak, aby byl intuitivní a uživatelsky přívětivý. Postupujte podle těchto jednoduchých kroků pro převod mezi binárními a desetinnými čísly:
Konvertor také poskytuje vizuální vysvětlení procesu převodu, ukazující vám přesně, jak je každý převod proveden matematicky. Tato vzdělávací funkce vám pomůže pochopit základní principy převodů číselných systémů.
Převod mezi binárními a desetinnými čísly je základní v mnoha oblastech a aplikacích:
IPv4 adresa jako 192.168.1.1 může být reprezentována v binární podobě jako:
Spojeno: 11000000.10101000.00000001.00000001
I když jsou binární a desetinné čísla nejčastěji používanými číselnými systémy, jiné systémy mají důležité aplikace:
Hexadecimální používá 16 číslic (0-9 a A-F) a často se používá jako kompaktnější způsob reprezentace binárních dat. Každá hexadecimální číslice představuje přesně 4 binární číslice.
Příklad: Binární 1010 1101 = Hexadecimální AD
Oktal používá 8 číslic (0-7) a byl historicky důležitý v počítačích. Každá oktalová číslice představuje přesně 3 binární číslice.
Příklad: Binární 101 011 = Oktal 53
BCD reprezentuje každou desetinnou číslici pomocí pevného počtu binárních číslic (typicky 4). Používá se v aplikacích, kde je požadována desetinná reprezentace, jako jsou digitální hodiny.
Příklad: Desetinné 42 v BCD = 0100 0010
Desetinný systém byl převládajícím číselným systémem v lidské historii, pravděpodobně proto, že lidé mají deset prstů. Důkazy o desetinných číselných systémech sahají až do starověkých civilizací:
Binární systém má novější, ale stejně fascinující historii:
Zde jsou implementace převodu binárních a desetinných čísel v různých programovacích jazycích:
1// Převod Binárního na Desetinné
2function binaryToDecimal(binary) {
3 if (!/^[01]+$/.test(binary)) {
4 return "Neplatné binární číslo";
5 }
6 return parseInt(binary, 2);
7}
8
9// Převod Desetinného na Binární
10function decimalToBinary(decimal) {
11 if (!/^\d+$/.test(decimal) || decimal < 0) {
12 return "Neplatné desetinné číslo";
13 }
14 return Number(decimal).toString(2);
15}
16
17// Příklad použití
18console.log(binaryToDecimal("1010")); // Výstup: 10
19console.log(decimalToBinary("42")); // Výstup: 101010
20
1# Převod Binárního na Desetinné
2def binary_to_decimal(binary):
3 try:
4 # Zkontrolujte, zda vstup obsahuje pouze 0 a 1
5 if not all(bit in '01' for bit in binary):
6 return "Neplatné binární číslo"
7 return int(binary, 2)
8 except ValueError:
9 return "Neplatné binární číslo"
10
11# Převod Desetinného na Binární
12def decimal_to_binary(decimal):
13 try:
14 # Zkontrolujte, zda vstup je nezáporné celé číslo
15 decimal = int(decimal)
16 if decimal < 0:
17 return "Neplatné desetinné číslo"
18 return bin(decimal)[2:] # Odstranit předponu '0b'
19 except ValueError:
20 return "Neplatné desetinné číslo"
21
22# Příklad použití
23print(binary_to_decimal("1010")) # Výstup: 10
24print(decimal_to_binary("42")) # Výstup: 101010
25
1public class BinaryDecimalConverter {
2 // Převod Binárního na Desetinné
3 public static int binaryToDecimal(String binary) {
4 if (!binary.matches("[01]+")) {
5 throw new IllegalArgumentException("Neplatné binární číslo");
6 }
7 return Integer.parseInt(binary, 2);
8 }
9
10 // Převod Desetinného na Binární
11 public static String decimalToBinary(int decimal) {
12 if (decimal < 0) {
13 throw new IllegalArgumentException("Záporná čísla nejsou podporována");
14 }
15 return Integer.toBinaryString(decimal);
16 }
17
18 public static void main(String[] args) {
19 System.out.println(binaryToDecimal("1010")); // Výstup: 10
20 System.out.println(decimalToBinary(42)); // Výstup: 101010
21 }
22}
23
1#include <iostream>
2#include <string>
3#include <cmath>
4#include <regex>
5
6// Převod Binárního na Desetinné
7int binaryToDecimal(const std::string& binary) {
8 // Zkontrolujte, zda vstup obsahuje pouze 0 a 1
9 if (!std::regex_match(binary, std::regex("[01]+"))) {
10 throw std::invalid_argument("Neplatné binární číslo");
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// Převod Desetinného na Binární
23std::string decimalToBinary(int decimal) {
24 if (decimal < 0) {
25 throw std::invalid_argument("Záporná čísla nejsou podporována");
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; // Výstup: 10
42 std::cout << decimalToBinary(42) << std::endl; // Výstup: 101010
43 return 0;
44}
45
1' Převod Binárního na Desetinné
2Function BinaryToDecimal(binary As String) As Variant
3 ' Zkontrolujte, zda vstup obsahuje pouze 0 a 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' Převod Desetinného na Binární
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' Příklad použití v buňce:
26' =BinaryToDecimal("1010") ' Vrací: 10
27' =DecimalToBinary(42) ' Vrací: 101010
28
Binární číslo je číslo vyjádřené v číselném systému základ-2, který používá pouze dva symboly: typicky "0" a "1". Každá číslice se nazývá bit (binární číslice). Binární čísla jsou základem digitálního počítání, protože všechna data v počítačích jsou nakonec reprezentována v binární podobě.
Počítače používají binární, protože elektronické komponenty mohou snadno reprezentovat dva stavy: zapnuto/vypnuto, vysoké/nízké napětí nebo magnetické polarity. Binární je také matematicky jednodušší implementovat v hardwaru, což činí počítače spolehlivějšími a efektivnějšími. Kromě toho logika Boole (AND, OR, NOT) dokonale odpovídá binárním operacím.
Chcete-li ručně převést binární číslo na desetinné:
Například binární 1101: 1×8 + 1×4 + 0×2 + 1×1 = 8 + 4 + 0 + 1 = 13
Chcete-li ručně převést desetinné číslo na binární:
Například desetinné 13: 13 ÷ 2 = 6 zbytek 1 6 ÷ 2 = 3 zbytek 0 3 ÷ 2 = 1 zbytek 1 1 ÷ 2 = 0 zbytek 1 Čtení zespodu nahoru: 1101
Naše aktuální implementace se zaměřuje na nezáporná celá čísla pro jednoduchost a vzdělávací účely. Záporná čísla v binární podobě obvykle používají techniky jako podepsaná magnituda, jedničkový doplněk nebo dvojkový doplněk, což jsou složitější koncepty.
Konvertor může zpracovat celá čísla až do bezpečného limitu celých čísel v JavaScriptu (2^53 - 1), což je 9 007 199 254 740 991. Pro binární vstupy to znamená až 53 bitů. Pro extrémně velká čísla by byly vyžadovány specializované knihovny.
Desetinné zlomky jsou reprezentovány v binární podobě pomocí binárních zlomků. Například 0,5 desítkově je 0,1 binárně (1×2^-1). Proces zahrnuje násobení zlomkové části 2 a zaznamenávání celých částí, dokud nedosáhnete 0 nebo nezačnete opakovat. Náš aktuální konvertor se zaměřuje pouze na celá čísla.
Běžné chyby zahrnují:
Počítačová paměť je organizována jako sekvence adresovatelných míst. Každé místo má jedinečnou adresu, která je v podstatě číslo. Tyto adresy jsou reprezentovány v binární podobě uvnitř obvodů počítače. Když program potřebuje přistupovat k paměti, specifikuje binární adresu požadovaného místa.
Všechny tři jsou poziční číselné systémy, ale s různými základy. Hexadecimální a oktalové se často používají jako kompaktnější způsoby reprezentace binárních dat, přičemž každá hexadecimální číslice představuje 4 binární číslice a každá oktalová číslice představuje 3 binární číslice.
Knuth, Donald E. "The Art of Computer Programming, Volume 2: Seminumerical Algorithms." Addison-Wesley, 1997.
Leibniz, Gottfried Wilhelm. "Explication de l'Arithmétique Binaire" (Vysvětlení Binární Aritmetiky). Mémoires de l'Académie Royale des Sciences, 1703.
Boole, George. "An Investigation of the Laws of Thought." Dover Publications, 1854 (znovu vydáno 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, pp. 713-723.
Ifrah, Georges. "The Universal History of Numbers: From Prehistory to the Invention of the Computer." Wiley, 2000.
"Binární Číslo." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Binary_number. Přístup 15. srpna 2023.
"Desetinný." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Decimal. Přístup 15. srpna 2023.
"Převod Číselných Systémů." National Institute of Standards and Technology, https://www.nist.gov/dads/HTML/numbersysconv.html. Přístup 15. srpna 2023.
Vyzkoušejte náš Konvertor Binárních a Desetinných Čísel nyní pro rychlé a přesné převody mezi binárními a desetinnými číselnými systémy. Ať už studujete informatiku, pracujete na projektech digitální elektroniky, nebo jste jen zvědaví, jak počítače reprezentují čísla, náš nástroj činí proces převodu jednoduchým a vzdělávacím.
Objevte další nástroje, které by mohly být užitečné pro vaši pracovní postup.