Jednoducho prevádzajte čísla medzi binárnymi a desatinnými systémami pomocou tohto bezplatného online nástroja. Okamžitá konverzia s edukačnou vizualizáciou.
Okamžite konvertujte medzi binárnym a desiatkovým číselným systémom.
Binárne čísla používajú iba 0 a 1
Desiatkové čísla používajú číslice 0-9
Zadajte hodnotu do ktoréhokoľvek poľa, aby ste videli konverziu v druhom poli.
Konvertor binárnych a desiatkových čísel je nevyhnutný nástroj pre každého, kto pracuje s rôznymi číselnými systémami. Binárny (základ 2) a desiatkový (základ 10) sú dva základné numerické systémy používané v počítačových vedách a matematike. Náš konvertor binárnych čísel na desiatkové vám umožňuje okamžite prekladať čísla medzi týmito systémami s dokonalou presnosťou. Či už ste študent počítačových vied, ktorý sa učí o binárnej reprezentácii, programátor, ktorý odstraňuje chyby v kóde, alebo nadšenec elektroniky, ktorý pracuje s digitálnymi obvodmi, tento konvertor zjednodušuje proces konverzie medzi binárnymi a desiatkovými formátmi bez potreby zložitých ručných výpočtov.
Binárne čísla, ktoré sa skladajú iba z 0 a 1, tvoria základ všetkých digitálnych počítačových systémov, zatiaľ čo desiatkový systém s číslicami 0-9 je to, čo používame v každodennom živote. Pochopenie vzťahu medzi týmito systémami je kľúčové pre kohokoľvek zapojeného do počítačových vied, programovania alebo digitálnej elektroniky. Tento nástroj prekonáva medzeru medzi týmito číselnými systémami, čím robí konverzie bez námahy a bez chýb.
Desiatkový systém je náš štandardný číselný systém, ktorý používa 10 číslic (0-9). V tomto pozičnom číselnom systéme každá pozícia číslice predstavuje mocninu 10:
Napríklad desiatkové číslo 427 predstavuje:
Sčítaním týchto hodnôt: 400 + 20 + 7 = 427
Binárny systém používa iba dve číslice (0 a 1). Každá pozícia v binárnom čísle predstavuje mocninu 2:
Napríklad binárne číslo 1010 predstavuje:
Sčítaním týchto hodnôt: 8 + 0 + 2 + 0 = 10 v desiatkovej sústave
Na konverziu binárneho čísla na desiatkové vynásobte každú číslicu jej zodpovedajúcou mocninou 2 a sčítajte výsledky:
Kde:
Príklad: Konverzia binárneho čísla 1101 na desiatkové
Na konverziu desiatkového čísla na binárne opakovane delte číslo 2 a zaznamenávajte zvyšky v opačnom poradí:
Príklad: Konverzia desiatkového čísla 25 na binárne
Náš konvertor binárnych a desiatkových čísel je navrhnutý tak, aby bol intuitívny a používateľsky prívetivý. Postupujte podľa týchto jednoduchých krokov na konverziu medzi binárnymi a desiatkovými číslami:
Konvertor tiež poskytuje vizuálne vysvetlenie konverzného procesu, ktoré vám ukáže, ako sa každá konverzia vykonáva matematicky. Táto vzdelávacia funkcia vám pomôže pochopiť základné princípy konverzií číselných systémov.
Konverzia binárnych a desiatkových čísel je základná v mnohých oblastiach a aplikáciách:
IPv4 adresa ako 192.168.1.1 môže byť reprezentovaná v binárnej forme ako:
Spolu: 11000000.10101000.00000001.00000001
Hoci binárne a desiatkové sú najčastejšie používané číselné systémy, iné systémy majú dôležité aplikácie:
Hexadecimálny systém používa 16 číslic (0-9 a A-F) a často sa používa ako kompaktnejší spôsob reprezentácie binárnych údajov. Každá hexadecimálna číslica predstavuje presne 4 binárne číslice.
Príklad: Binárne 1010 1101 = Hexadecimálne AD
Oktálny systém používa 8 číslic (0-7) a historicky bol dôležitý v počítačoch. Každá oktálna číslica predstavuje presne 3 binárne číslice.
Príklad: Binárne 101 011 = Oktálne 53
BCD reprezentuje každú desiatkovú číslicu pomocou pevného počtu binárnych číslic (typicky 4). Používa sa v aplikáciách, kde je potrebná desiatková reprezentácia, ako sú digitálne hodiny.
Príklad: Desiatkové 42 v BCD = 0100 0010
Desiatkový systém bol dominantným číselným systémom v ľudskej histórii, pravdepodobne preto, že ľudia majú desať prstov. Dôkazy o desiatkových počítacích systémoch siahajú až do starovekých civilizácií:
Binárny systém má nedávnejšiu, ale rovnako fascinujúcu históriu:
Tu sú implementácie konverzie binárnych a desiatkových čísel v rôznych programovacích jazykoch:
1// Konverzia binárneho na desiatkové
2function binaryToDecimal(binary) {
3 if (!/^[01]+$/.test(binary)) {
4 return "Neplatné binárne číslo";
5 }
6 return parseInt(binary, 2);
7}
8
9// Konverzia desiatkového na binárne
10function decimalToBinary(decimal) {
11 if (!/^\d+$/.test(decimal) || decimal < 0) {
12 return "Neplatné desiatkové číslo";
13 }
14 return Number(decimal).toString(2);
15}
16
17// Príklad použitia
18console.log(binaryToDecimal("1010")); // Výstup: 10
19console.log(decimalToBinary("42")); // Výstup: 101010
20
1# Konverzia binárneho na desiatkové
2def binary_to_decimal(binary):
3 try:
4 # Skontrolujte, či vstup obsahuje iba 0 a 1
5 if not all(bit in '01' for bit in binary):
6 return "Neplatné binárne číslo"
7 return int(binary, 2)
8 except ValueError:
9 return "Neplatné binárne číslo"
10
11# Konverzia desiatkového na binárne
12def decimal_to_binary(decimal):
13 try:
14 # Skontrolujte, či vstup je nezáporné celé číslo
15 decimal = int(decimal)
16 if decimal < 0:
17 return "Neplatné desiatkové číslo"
18 return bin(decimal)[2:] # Odstrániť prefix '0b'
19 except ValueError:
20 return "Neplatné desiatkové číslo"
21
22# Príklad použitia
23print(binary_to_decimal("1010")) # Výstup: 10
24print(decimal_to_binary("42")) # Výstup: 101010
25
1public class BinaryDecimalConverter {
2 // Konverzia binárneho na desiatkové
3 public static int binaryToDecimal(String binary) {
4 if (!binary.matches("[01]+")) {
5 throw new IllegalArgumentException("Neplatné binárne číslo");
6 }
7 return Integer.parseInt(binary, 2);
8 }
9
10 // Konverzia desiatkového na binárne
11 public static String decimalToBinary(int decimal) {
12 if (decimal < 0) {
13 throw new IllegalArgumentException("Záporné čísla nie sú podporované");
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// Konverzia binárneho na desiatkové
7int binaryToDecimal(const std::string& binary) {
8 // Skontrolujte, či vstup obsahuje iba 0 a 1
9 if (!std::regex_match(binary, std::regex("[01]+"))) {
10 throw std::invalid_argument("Neplatné binárne čí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// Konverzia desiatkového na binárne
23std::string decimalToBinary(int decimal) {
24 if (decimal < 0) {
25 throw std::invalid_argument("Záporné čísla nie sú podporované");
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' Konverzia binárneho na desiatkové
2Function BinaryToDecimal(binary As String) As Variant
3 ' Skontrolujte, či vstup obsahuje iba 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' Konverzia desiatkového na binárne
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' Príklad použitia v bunke:
26' =BinaryToDecimal("1010") ' Vráti: 10
27' =DecimalToBinary(42) ' Vráti: 101010
28
Binárne číslo je číslo vyjadrené v dvojkovom číselnom systéme, ktorý používa iba dva symboly: zvyčajne "0" a "1". Každá číslica sa nazýva bit (binárna číslica). Binárne čísla sú základné pre digitálne počítačové systémy, pretože všetky údaje v počítačoch sú nakoniec reprezentované v binárnej forme.
Počítače používajú binárne čísla, pretože elektronické komponenty môžu ľahko reprezentovať dva stavy: zapnuté/vypnuté, vysoké/nízke napätie alebo magnetické polarizácie. Binárne čísla sú tiež matematicky jednoduchšie implementovať v hardvéri, čo robí počítače spoľahlivejšími a efektívnejšími. Okrem toho Booleova logika (AND, OR, NOT) dokonale zodpovedá binárnym operáciám.
Na manuálnu konverziu binárneho čísla na desiatkové:
Napríklad binárne číslo 1101: 1×8 + 1×4 + 0×2 + 1×1 = 8 + 4 + 0 + 1 = 13
Na manuálnu konverziu desiatkového čísla na binárne:
Napríklad desiatkové číslo 13: 13 ÷ 2 = 6 zvyšok 1 6 ÷ 2 = 3 zvyšok 0 3 ÷ 2 = 1 zvyšok 1 1 ÷ 2 = 0 zvyšok 1 Čítanie zdola nahor: 1101
Naša aktuálna implementácia sa zameriava na nezáporné celé čísla pre jednoduchosť a vzdelávacie účely. Záporné čísla v binárnej forme typicky používajú techniky ako podpísaná magnitúda, jedničkový doplnok alebo dvojkový doplnok, čo sú pokročilejšie koncepty.
Konvertor môže spracovať celé čísla až do bezpečného limitu JavaScriptu (2^53 - 1), čo je 9 007 199 254 740 991. Pre binárne vstupy to znamená až 53 bitov. Pre extrémne veľké čísla by boli potrebné špecializované knižnice.
Desiatkové zlomky sú reprezentované v binárnej forme pomocou binárnych zlomkov. Napríklad 0.5 desiatkové je 0.1 binárne (1×2^-1). Proces zahŕňa násobenie zlomkovej časti 2 a zaznamenávanie celej časti, kým nedosiahnete 0 alebo nezačnete opakovať. Náš aktuálny konvertor sa zameriava iba na celé čísla.
Bežné chyby zahŕňajú:
Počítačová pamäť je organizovaná ako sekvencia adresovateľných lokalít. Každá lokalita má jedinečnú adresu, ktorá je v podstate číslo. Tieto adresy sú reprezentované v binárnej forme v obvodoch počítača. Keď program potrebuje pristupovať k pamäti, špecifikuje binárnu adresu požadovanej lokality.
Všetky tri sú pozičné číselné systémy, ale s rôznymi základmi. Hexadecimálny a oktálny sa často používajú ako kompaktnejšie spôsoby reprezentácie binárnych údajov, pričom každá hexadecimálna číslica predstavuje 4 binárne číslice a každá oktálna číslica predstavuje 3 binárne číslice.
Knuth, Donald E. "Umění počítačového programování, svazek 2: Seminumerické algoritmy." Addison-Wesley, 1997.
Leibniz, Gottfried Wilhelm. "Vysvetlenie binárnej aritmetiky." Mémoires de l'Académie Royale des Sciences, 1703.
Boole, George. "Vyšetrenie zákonov myslenia." Dover Publications, 1854 (znovu vydané 1958).
Shannon, Claude E. "Symbolická analýza relé a prepínacích obvodov." Transactions of the American Institute of Electrical Engineers, vol. 57, no. 12, 1938, s. 713-723.
Ifrah, Georges. "Univerzálna história čísel: Od prehistorie po vynález počítača." Wiley, 2000.
"Binárne číslo." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Binary_number. Prístup 15. augusta 2023.
"Desiatkový." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Decimal. Prístup 15. augusta 2023.
"Konverzia číselných systémov." Národný inštitút štandardov a technológie, https://www.nist.gov/dads/HTML/numbersysconv.html. Prístup 15. augusta 2023.
Vyskúšajte náš konvertor binárnych a desiatkových čísel teraz, aby ste rýchlo a presne konvertovali medzi binárnymi a desiatkovými číselnými systémami. Či už študujete počítačové vedy, pracujete na projektoch digitálnej elektroniky alebo ste len zvedaví, ako počítače reprezentujú čísla, náš nástroj robí proces konverzie jednoduchým a vzdelávacím.
Objavte ďalšie nástroje, ktoré by mohli byť užitočné pre vašu pracovnú postupnosť