Lengvai konvertuokite skaičius tarp dvejetainės ir dešimtainės sistemų su šiuo nemokamu internetu įrankiu. Akimirksniu konversija su edukacine vizualizacija.
Instantinis konvertavimas tarp dvejetainės ir dešimtainės skaičių sistemų.
Dvejetainiai skaičiai naudoja tik 0 ir 1
Dešimtainiai skaičiai naudoja skaitmenis 0-9
Įveskite vertę bet kuriame lauke, kad pamatytumėte konvertavimą kitame lauke.
Dvejetainis-Dešimtainis Konverteris yra būtinas įrankis visiems, dirbantiems su skirtingomis skaičių sistemomis. Dvejetainė (2 bazė) ir dešimtainė (10 bazė) yra dvi pagrindinės skaičių sistemos, naudojamos kompiuterijoje ir matematikoje. Mūsų dvejetainis į dešimtainį konverteris leidžia jums akimirksniu versti skaičius tarp šių sistemų su tobulai tiksliai. Nesvarbu, ar esate kompiuterių mokslų studentas, mokantis apie dvejetainę reprezentaciją, programuotojas, taisantis kodą, ar elektronikos entuziastas, dirbantis su skaitmeniniais grandynais, šis konverteris supaprastina konvertavimo procesą tarp dvejetainio ir dešimtainio skaičių formatų, nereikalaujant sudėtingų rankinių skaičiavimų.
Dvejetainiai skaičiai, sudaryti tik iš 0 ir 1, sudaro visų skaitmeninių kompiuterių sistemų pagrindą, tuo tarpu dešimtainė sistema su skaitmenimis 0-9 yra tai, ką mes naudojame kasdieniame gyvenime. Supratimas apie ryšį tarp šių sistemų yra būtinas visiems, kurie dirba kompiuterių mokslų, programavimo ar skaitmeninės elektronikos srityse. Šis įrankis sujungia šias skaičių sistemas, todėl konversijos tampa lengvos ir be klaidų.
Dešimtainė sistema yra mūsų standartinė skaičių sistema, naudojanti 10 skaitmenų (0-9). Šioje pozicinėje skaičių sistemoje kiekvienos skaitmenų vietos reikšmė atitinka 10 galios:
Pavyzdžiui, dešimtainis skaičius 427 reiškia:
Sudėjus šias reikšmes: 400 + 20 + 7 = 427
Dvejetainė sistema naudoja tik du skaitmenis (0 ir 1). Kiekviena vieta dvejetainėje skaičiaus atitinka 2 galios:
Pavyzdžiui, dvejetainis skaičius 1010 reiškia:
Sudėjus šias reikšmes: 8 + 0 + 2 + 0 = 10 dešimtainėje
Norint konvertuoti dvejetainį skaičių į dešimtainį, reikia kiekvieną skaitmenį padauginti iš atitinkamos 2 galios ir sumuoti rezultatus:
Kur:
Pavyzdys: Dvejetainio 1101 konvertavimas į dešimtainį
Norint konvertuoti dešimtainį skaičių į dvejetainį, reikia nuolat dalinti skaičių iš 2 ir užrašyti liekanas atvirkštine tvarka:
Pavyzdys: Dešimtainio 25 konvertavimas į dvejetainį
Mūsų dvejetainis-dešimtainis konverteris yra sukurtas taip, kad būtų intuityvus ir lengvai naudojamas. Sekite šiuos paprastus žingsnius, kad konvertuotumėte tarp dvejetainių ir dešimtainių skaičių:
Konverteris taip pat pateikia vizualią konversijos proceso paaiškinimą, rodydamas, kaip kiekviena konversija atliekama matematiškai. Ši edukacinė funkcija padeda jums suprasti pagrindinius skaičių sistemų konversijų principus.
Dvejetainis-dešimtainis konvertavimas yra pagrindinis daugelyje sričių ir taikymo atvejų:
IPv4 adresas, pavyzdžiui, 192.168.1.1 gali būti reprezentuojamas dvejetainiu būdu kaip:
Sujungus: 11000000.10101000.00000001.00000001
Nors dvejetainė ir dešimtainė yra dažniausiai naudojamos skaičių sistemos, kitos sistemos turi svarbias taikymo sritis:
Šešioliktainė naudoja 16 skaitmenų (0-9 ir A-F) ir dažnai naudojama kaip kompaktiškesnis būdas reprezentuoti dvejetainius duomenis. Kiekvienas šešioliktainis skaitmuo atitinka tiksliai 4 dvejetainius skaitmenis.
Pavyzdys: Dvejetainis 1010 1101 = Šešioliktainis AD
Aštuoninė naudoja 8 skaitmenis (0-7) ir istoriniu požiūriu buvo svarbi kompiuterijoje. Kiekvienas aštuoninis skaitmuo atitinka tiksliai 3 dvejetainius skaitmenis.
Pavyzdys: Dvejetainis 101 011 = Aštuoninis 53
BCD reprezentuoja kiekvieną dešimtainį skaitmenį, naudodamas fiksuotą skaičių dvejetainių skaitmenų (paprastai 4). Jis naudojamas taikymuose, kur reikia dešimtainės reprezentacijos, pavyzdžiui, skaitmeniniuose laikrodžiuose.
Pavyzdys: Dešimtainis 42 BCD = 0100 0010
Dešimtainė sistema buvo vyraujanti skaičių sistema žmonijos istorijoje, greičiausiai todėl, kad žmonės turi dešimt pirštų. Įrodymai apie dešimtainius skaičiavimo sistemas datuojami senovės civilizacijomis:
Dvejetainė sistema turi naujesnę, bet ne mažiau įdomią istoriją:
Štai dvejetainio-dešimtainio konvertavimo įgyvendinimai įvairiose programavimo kalbose:
1// Dvejetainio į dešimtainį konvertavimas
2function binaryToDecimal(binary) {
3 if (!/^[01]+$/.test(binary)) {
4 return "Neteisingas dvejetainis skaičius";
5 }
6 return parseInt(binary, 2);
7}
8
9// Dešimtainio į dvejetainį konvertavimas
10function decimalToBinary(decimal) {
11 if (!/^\d+$/.test(decimal) || decimal < 0) {
12 return "Neteisingas dešimtainis skaičius";
13 }
14 return Number(decimal).toString(2);
15}
16
17// Pavyzdžio naudojimas
18console.log(binaryToDecimal("1010")); // Išveda: 10
19console.log(decimalToBinary("42")); // Išveda: 101010
20
1# Dvejetainio į dešimtainį konvertavimas
2def binary_to_decimal(binary):
3 try:
4 # Patikrina, ar įvestis sudaryta tik iš 0 ir 1
5 if not all(bit in '01' for bit in binary):
6 return "Neteisingas dvejetainis skaičius"
7 return int(binary, 2)
8 except ValueError:
9 return "Neteisingas dvejetainis skaičius"
10
11# Dešimtainio į dvejetainį konvertavimas
12def decimal_to_binary(decimal):
13 try:
14 # Patikrina, ar įvestis yra neigiamas sveikasis skaičius
15 decimal = int(decimal)
16 if decimal < 0:
17 return "Neteisingas dešimtainis skaičius"
18 return bin(decimal)[2:] # Pašalina '0b' prefiksą
19 except ValueError:
20 return "Neteisingas dešimtainis skaičius"
21
22# Pavyzdžio naudojimas
23print(binary_to_decimal("1010")) # Išveda: 10
24print(decimal_to_binary("42")) # Išveda: 101010
25
1public class BinaryDecimalConverter {
2 // Dvejetainio į dešimtainį konvertavimas
3 public static int binaryToDecimal(String binary) {
4 if (!binary.matches("[01]+")) {
5 throw new IllegalArgumentException("Neteisingas dvejetainis skaičius");
6 }
7 return Integer.parseInt(binary, 2);
8 }
9
10 // Dešimtainio į dvejetainį konvertavimas
11 public static String decimalToBinary(int decimal) {
12 if (decimal < 0) {
13 throw new IllegalArgumentException("Neigiami skaičiai nepalaikomi");
14 }
15 return Integer.toBinaryString(decimal);
16 }
17
18 public static void main(String[] args) {
19 System.out.println(binaryToDecimal("1010")); // Išveda: 10
20 System.out.println(decimalToBinary(42)); // Išveda: 101010
21 }
22}
23
1#include <iostream>
2#include <string>
3#include <cmath>
4#include <regex>
5
6// Dvejetainio į dešimtainį konvertavimas
7int binaryToDecimal(const std::string& binary) {
8 // Patikrina, ar įvestis sudaryta tik iš 0 ir 1
9 if (!std::regex_match(binary, std::regex("[01]+"))) {
10 throw std::invalid_argument("Neteisingas dvejetainis skaičius");
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// Dešimtainio į dvejetainį konvertavimas
23std::string decimalToBinary(int decimal) {
24 if (decimal < 0) {
25 throw std::invalid_argument("Neigiami skaičiai nepalaikomi");
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; // Išveda: 10
42 std::cout << decimalToBinary(42) << std::endl; // Išveda: 101010
43 return 0;
44}
45
1' Dvejetainio į dešimtainį konvertavimas
2Function BinaryToDecimal(binary As String) As Variant
3 ' Patikrina, ar įvestis sudaryta tik iš 0 ir 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' Dešimtainio į dvejetainį konvertavimas
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' Pavyzdžio naudojimas ląstelėje:
26' =BinaryToDecimal("1010") ' Grąžina: 10
27' =DecimalToBinary(42) ' Grąžina: 101010
28
Dvejetainis skaičius yra skaičius, išreikštas 2 bazės skaičių sistemoje, kuri naudoja tik du simbolius: paprastai „0“ ir „1“. Kiekvienas skaitmuo vadinamas bitu (dvejetainiu skaitmeniu). Dvejetainiai skaičiai yra pagrindiniai skaitmeninės kompiuterijos elementai, nes visi duomenys kompiuteriuose galiausiai yra reprezentuojami dvejetainiu pavidalu.
Kompiuteriai naudoja dvejetainį, nes elektroniniai komponentai lengvai gali reprezentuoti dvi būsenas: įjungta/išjungta, aukšta/žema įtampa ar magnetinės polarizacijos. Dvejetainis taip pat yra matematiškai paprastesnis įgyvendinant aparatūroje, todėl kompiuteriai yra patikimesni ir efektyvesni. Be to, Boole'o logika (AND, OR, NOT) puikiai atitinka dvejetaines operacijas.
Norint rankiniu būdu konvertuoti dvejetainį skaičių į dešimtainį:
Pavyzdžiui, dvejetainis 1101: 1×8 + 1×4 + 0×2 + 1×1 = 8 + 4 + 0 + 1 = 13
Norint rankiniu būdu konvertuoti dešimtainį skaičių į dvejetainį:
Pavyzdžiui, dešimtainis 13: 13 ÷ 2 = 6 liekana 1 6 ÷ 2 = 3 liekana 0 3 ÷ 2 = 1 liekana 1 1 ÷ 2 = 0 liekana 1 Perskaičius iš apačios į viršų: 1101
Mūsų dabartinė įgyvendinimas orientuotas į neigiamus sveikuosius skaičius dėl paprastumo ir edukacinių tikslų. Neigiami skaičiai dvejetainėje paprastai naudoja technikas, tokias kaip pasirašyta didžioji, vieno komplemento ar dviejų komplemento reprezentacija, kurios yra sudėtingesnės koncepcijos.
Konverteris gali apdoroti sveikus skaičius iki JavaScript saugaus sveiko skaičiaus ribos (2^53 - 1), t. y. 9,007,199,254,740,991. Dėl dvejetainių įvesties tai reiškia iki 53 bitų. Labai dideliems skaičiams reikėtų specializuotų bibliotekų.
Dešimtainės frakcijos dvejetainėje yra reprezentuojamos naudojant dvejetaines frakcijas. Pavyzdžiui, 0.5 dešimtainis yra 0.1 dvejetainis (1×2^-1). Procesas apima frakcinės dalies dauginimą iš 2 ir sveikos dalies užrašymą, kol pasieksite 0 arba pradėsite kartoti. Mūsų dabartinis konverteris orientuotas tik į sveikus skaičius.
Dažnos klaidos apima:
Kompiuterio atmintis yra organizuota kaip adresuojamų vietų seka. Kiekviena vieta turi unikalų adresą, kuris iš esmės yra skaičius. Šie adresai yra reprezentuojami dvejetainiu būdu kompiuterio grandinėje. Kai programa nori pasiekti atmintį, ji nurodo dvejetainį norimos vietos adresą.
Visos trys yra pozicinės skaičių sistemos, tačiau su skirtingomis bazėmis. Šešioliktainė ir aštuoninė dažnai naudojamos kaip kompaktiškesni būdai reprezentuoti dvejetainius duomenis, kiekvienas šešioliktainis skaitmuo atitinka 4 dvejetainius skaitmenis, o kiekvienas aštuoninis skaitmuo atitinka 3 dvejetainius skaitmenis.
Knuth, Donald E. "The Art of Computer Programming, Volume 2: Seminumerical Algorithms." Addison-Wesley, 1997.
Leibniz, Gottfried Wilhelm. "Explication de l'Arithmétique Binaire" (Dvejetainės aritmetikos paaiškinimas). Mémoires de l'Académie Royale des Sciences, 1703.
Boole, George. "An Investigation of the Laws of Thought." Dover Publications, 1854 (perpublikuota 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.
"Dvejetainis skaičius." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Binary_number. Prieiga 2023 m. rugpjūčio 15 d.
"Dešimtainis." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Decimal. Prieiga 2023 m. rugpjūčio 15 d.
"Skaičių sistemos konversija." Nacionalinis standartizavimo ir technologijų institutas, https://www.nist.gov/dads/HTML/numbersysconv.html. Prieiga 2023 m. rugpjūčio 15 d.
Išbandykite mūsų Dvejetainį-Dešimtainį Konverterį dabar, kad greitai ir tiksliai konvertuotumėte tarp dvejetainių ir dešimtainių skaičių sistemų. Nesvarbu, ar studijuojate kompiuterių mokslą, dirbate su skaitmeninės elektronikos projektais ar tiesiog domitės, kaip kompiuteriai reprezentuoja skaičius, mūsų įrankis supaprastina konversijos procesą ir yra edukacinis.
Raskite daugiau įrankių, kurie gali būti naudingi jūsų darbo eiga.