Pereiti prie turinio

Dvejetainis į dešimtainį keitiklis | Nemokamas internetinis įrankis

Akimirksniu konvertuokite tarp dvejetainės ir dešimtainės sistemos. Nemokamas įrankis su išsamiais paaiškinimais, kodo pavyzdžiais ir praktiniais naudojimo atvejais programuotojams ir studentams.

Dvejetainės-Dešimtainės Skaičių Konverteris

Akimirksniu konvertuokite 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 reikšmę bet kuriame lauke, kad pamatytumėte konvertavimą kitame lauke.

Įkrovimo skaičiuotuvas...
📚

Dokumentacija

Dvejetainis į Dešimtainį Keitiklis: Akimirksniu Konvertuokite Tarp Skaičių Sistemų

Ar kada nors žiūrėjote į 1 ir 0 eilutę, svarstydami, kokį skaičių ji iš tikrųjų reiškia? Jei dirbate su kompiuteriais bet kokiu lygiu - ar tai būtų tinklo problemų šalinimas, mikrovaldiklių programavimas, ar tiesiog susidomėjimas, kaip kompiuteriai mąsto - galiausiai jums prireiks konvertuoti tarp dvejetainės ir dešimtainės sistemų.

Šis įrankis akimirksniu atlieka konvertavimą abiem kryptimis. Įveskite skaičių bet kuriame lauke ir stebėkite, kaip vyksta vertimas. Dar svarbiau, jūs matysite, kaip vyksta konvertavimas, kas svarbu, kai bandote suprasti, kas vyksta po jūsų kodo gaubtu.

Štai kas daro dvejetainį-dešimtainį konvertavimą sudėtingu: mūsų smegenys yra pritaikytos dešimtainei sistemai (galiausiai turime dešimt pirštų), tačiau kompiuteriai veikia išimtinai dvejetaine sistema. Kiekvienas duomenų fragmentas - tekstas, vaizdai, vaizdo įrašai, jūsų naršymo istorija - galiausiai suskaidomas į 0 ir 1 sekas. Šio ryšio supratimas nėra vien akademinis; tai praktinės žinios, kurios iškyla dirbant su IP adresais, failų leidimais, bitinėmis operacijomis ir atminties adresais.

Geroji naujiena? Kai suprasite dėsningumą, konvertavimai tampa paprastais. Matematika paprasta - tai tik daugyba ir sudėtis (arba dalyba atvirkštiniam procesui). Kas žmones suklaidina, tai pozicijų verčių sekimas, ypač su ilgesniais skaičiais. Būtent tai šis keitiklis ir išsprendžia.

Kaip konvertuoti dvejetainę sistemą į dešimtainę ir atvirkščiai

Dešimtainės sistemos (Base-10) supratimas

Jūs jau žinote dešimtainę sistemą — tai, ko mokėtės pradinėje mokykloje. Naudojame dešimt skaitmenų (0-9), ir kiekviena pozicija reiškia 10-ies laipsnį:

Desˇimtainis skaicˇius=dn×10n+dn1×10n1+...+d1×101+d0×100\text{Dešimtainis skaičius} = d_n \times 10^n + d_{n-1} \times 10^{n-1} + ... + d_1 \times 10^1 + d_0 \times 10^0

Paimkime skaičių 427. Išskaidant pagal pozicijas:

  • 4 × 10² = 400 (šimtų vieta)
  • 2 × 10¹ = 20 (dešimčių vieta)
  • 7 × 10⁰ = 7 (vienetų vieta)

Sudedant šias reikšmes: 400 + 20 + 7 = 427

Mes šią pozicijų notaciją laikome savaime suprantama, tačiau tai buvo revoliucingas išradimas. Prieš pozicijų sistemas, aritmetika buvo neįtikėtinai sudėtinga (pabandykite padauginti romėniškus skaitmenis).

Dvejetainės sistemos (Base-2) supratimas

Dvejetainė sistema veikia taip pat kaip dešimtainė, tik su 2-jų laipsniais vietoj 10-ies. Turite tik du skaitmenis — 0 ir 1:

Dvejetainis skaicˇius=bn×2n+bn1×2n1+...+b1×21+b0×20\text{Dvejetainis skaičius} = b_n \times 2^n + b_{n-1} \times 2^{n-1} + ... + b_1 \times 2^1 + b_0 \times 2^0

Paimkime dvejetainį skaičių 1010. Kiekviena pozicija iš dešinės į kairę reiškia 1, 2, 4, 8, 16 ir t.t.:

  • 1 × 2³ = 8
  • 0 × 2² = 0
  • 1 × 2¹ = 2
  • 0 × 2⁰ = 0

Sudedant šias reikšmes: 8 + 0 + 2 + 0 = 10 dešimtainėje sistemoje

Modelis yra identiškas dešimtainei sistemai, tik su kitu pagrindu. Kai tai suprasi, dvejetainė sistema tampa tokia pat natūrali kaip įprasti skaičiai.

Dvejetainės į Dešimtainę Konvertavimo Formulės ir Metodai

Dvejetainės į Dešimtainę: Matematika už To

Konvertuojant dvejetainę į dešimtainę, laikomasi paprastos schemos: padauginti kiekvieną skaitmenį iš 2 laipsnio jo pozicijoje, o tada viską sudėti. Formulė atrodo taip:

Desˇimtaine˙=i=0nbi×2i\text{Dešimtainė} = \sum_{i=0}^{n} b_i \times 2^i

Kur:

  • bib_i yra kiekvienas dvejetainis skaitmuo (arba 0, arba 1)
  • ii yra pozicija, skaičiuojama iš dešinės į kairę (pradedant nuo 0)
  • nn yra bendras skaitmenų skaičius minus 1

Skamba sudėtingai? Praktikoje tai paprasta. Kiekviena pozicija iš dešinės į kairę reiškia 1, 2, 4, 8, 16, 32 ir t.t. — kas kartą dvigubėjant.

Pavyzdys: Konvertuojant dvejetainę 1101 į dešimtainę

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

Pastebėkite, kad pridedamos tik tos pozicijos, kur yra 1. Nuliai nieko neduoda, tad juos galite ignoruoti. 1101 išskaidomas į pozicijas 0, 2 ir 3 (kurios lygios 1 + 4 + 8 = 13).

Dešimtainės į Dvejetainę: Dalybos Metodas

Priešinga kryptimi — iš dešimtainės į dvejetainę — naudojamas kitoks metodas. Nuolat dalinate iš 2 ir renkate liekanas:

  1. Padalykite savo dešimtainį skaičių iš 2
  2. Užrašykite liekaną (visada 0 arba 1)
  3. Paimkite dalmenį ir vėl dalykite iš 2
  4. Tęskite, kol dalmuo taps 0
  5. Perskaitykite visas liekanas atgal (nuo apačios į viršų)

Pavyzdys: Konvertuojant dešimtainę 25 į dvejetainę

  1. 25 ÷ 2 = 12 liekana 1
  2. 12 ÷ 2 = 6 liekana 0
  3. 6 ÷ 2 = 3 liekana 0
  4. 3 ÷ 2 = 1 liekana 1
  5. 1 ÷ 2 = 0 liekana 1
  6. Skaitant nuo apačios į viršų: 11001 dvejetainė

Pagrindinis triukas — prisiminti, kad reikia apversti eilės tvarką. Pirmoji apskaičiuota liekana tampa paskutiniu (dešiniausiu) skaitmeniu jūsų dvejetainėje. Iš pradžių tai gali atrodyti keista, bet tampa suprantama, kai suvokiate, kad iš esmės nuiminate mažiausiai reikšmingą bitą pirmiausia.

Kaip naudotis šiuo konverteriu

Įrankis veikia abipusiškai — įveskite bet kuriame lauke ir stebėkite, kaip kitas laukas iš karto atsinaujina. Jokių mygtukų spaudinėti, jokių formų pildyti nereikia.

Dvejetainių skaičių konvertavimas į dešimtainius

Įveskite savo dvejetainį skaičių (tik 0 ir 1) į Dvejetainį lauką. Dešimtainis ekvivalentas pasirodo iš karto. Jei netyčia įtrauksite 2 ar kitą netinkamą skaitmenį, gausite klaidos pranešimą.

Profesionalus patarimas: Galite tiesiogiai įklijuoti dvejetaines reikšmes iš kodo, duomenų lapų ar tinklo analizatorių. Įrankis automatiškai pašalina tarpus ir bendrus prefiksus, pvz., 0b.

Dešimtainių skaičių konvertavimas į dvejetainius

Įveskite bet kokį neneigiamą sveikąjį skaičių Dešimtainiame lauke, ir dvejetainė reprezentacija pasirodo iš karto. Veikia viskam nuo 0 iki daugiau nei 9 kvadrilijonų.

Įprastas naudojimo atvejis: Kai nustatote bitų vėliavėles kode ir norite patikrinti, kurie bitai yra nustatyti. Įveskite 255 ir pamatysite 11111111 — visi 8 baitų bitai įjungti.

Proceso supratimas

Po įvesties laukais matysite detalų matematinį kiekvieno konvertavimo procesą. Tai ypač naudinga mokantis arba kai reikia kam nors paaiškinti konvertavimą. Konvertuojant dvejetainius į dešimtainius, rodoma kiekvienos pozicijos vertė ir kaip jos susumuojamos. Konvertuojant dešimtainius į dvejetainius, rodomas dalijimo iš 2 procesas.

[SVG turinys išlieka tas pats]

Dvejetainių Skaičiuoklių Taikymai: Realaus Pasaulio Naudojimo Atvejai

Praktikoje dvejetainių-dešimtainių skaičių konvertavimas pasirodo dažniau, nei galėtumėte tikėtis. Štai scenarijai, kur šie konvertavimai yra itin naudingi:

Kompiuterių Mokslas ir Programavimas

Derinant atminties problemas, dažnai matysite adresus šešioliktainiu formatu (kuris yra tiesiog sugrupuotas dvejetainis). Konvertavimas į dešimtainį padeda apskaičiuoti poslinkius ar patikrinti, ar pasiekiate teisingą vietą. Panašiai, bitinės operacijos daug geriau suprantamos, kai galite vizualizuoti dvejetainį atvaizdavimą—bandykite suprasti x & (x-1) nepamačius bitų veikimo.

Dažna klaida: pamiršti, kad bitiniai postūmiai iš esmės yra tik daugyba ar dalyba iš 2 laipsnių. Kai kode pasirodo x << 3, atpažinimas kaip „daugyba iš 8" (2³) padeda suprasti našumo optimizacijas.

Skaitmeninė Elektronika

Mikrovaldiklių duomenų lapuose registrų konfigūracijos nurodomos tiek šešioliktainiu, tiek dvejetainiu formatu. Nustatant GPIO išvadus ar konfigūruojant laikmačius, reikia perjungti konkrečius bitus nepaveikiant kitų. Tam reikia tiksliai suprasti, kuris bito pozicijos atitikmuo konkrečiai dešimtainei reikšmei. Pavyzdžiui, nustatant 5 bitą, pridedama 32 (2⁵) prie registro reikšmės.

Tinklų Inžinerija

IPv4 adresai iš esmės yra 32 bitų dvejetainiai skaičiai, padalyti į keturis oktetus. Kai matote 192.168.1.1 ir turite suprasti potinklio kaukes, dirbate su dvejetainiais skaičiais. Bandykite apskaičiuoti, ar 192.168.1.50 ir 192.168.1.200 yra tame pačiame /25 tinkle be dvejetainio konvertavimo—tai beveik neįmanoma. Pagal RFC 791, IP adresai iš esmės veikia kaip dvejetainės reikšmės, net jei juos rašome dešimtainiu patogumo dėlei.

Failų Leidimai (Unix/Linux)

Tie trijų skaitmenų leidimų kodai kaip 755 ar 644? Kiekvienas skaitmuo iš tikrųjų yra oktalinis (8-inis), kuris lengvai konvertuojamas į 3 bitų dvejetaines grupes. Nustatant leidimus 755, iš tikrųjų sakote 111 101 101 dvejetainiu—pilni leidimai savininkui, skaitymas+vykdymas grupei, skaitymas+vykdymas kitiems. Suprantant šį dvejetainį pagrindą, chmod operacijos tampa intuityvios, o ne tiesiog įsimenamos.

Pavyzdys: IP Adresų Konvertavimas

IPv4 adresas kaip 192.168.1.1 gali būti vaizduojamas dvejetainiu formatu:

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

Kartu: 11000000.10101000.00000001.00000001

Kitos Skaitmenų Sistemos, Kurias Sutiksite

Dvejetainiai ir dešimtainiai skaičiai nėra vieninteliai kompiuterinėje srityje. Štai kitos skaitmenų sistemos, kurias sutiksite:

Šešioliktainis (16-inis)

Šešioliktainis yra visur programavime—atminties adresuose, spalvų koduose, asemblerio kalboje. Naudoja skaitmenis 0-9 ir raides A-F. Šešioliktainio pranašumas tas, kad kiekvienas skaitmuo tiksliai atitinka 4 dvejetainius bitus, todėl tai daug lengčiau skaitomas dvejetainių skaičių užrašymo būdas.

Pavyzdys: Dvejetainis 1010 1101 = Šešioliktainis AD (vs dešimtainis 173)

Kai matote spalvos kodą kaip #FF5733, tai šešioliktainis—kiekviena pora reiškia raudonos, žalios ir mėlynos reikšmes. FF (255 dešimtainiu) reiškia maksimalų raudonos intensyvumą.

Oktalinis (8-inis)

Oktalinis naudoja skaitmenis 0-7, kur kiekvienas skaitmuo atitinka lygiai 3 dvejetainius bitus. Nors šiandien mažiau naudojamas, vis dar pasitaiko Unix failų leidimuose (chmod 755) ir kartais paveldimuose sistemose. Anksčiau buvo populiarus dėl to, kad daugelis kompiuterių naudojo žodžių dydžius, kurie buvo 3 kartotiniai.

Pavyzdys: Dvejetainis 101 011 = Oktalinis 53

Dvejetainis-Dešimtainis (BCD)

BCD kiekviena dešimtainė skaitmenį vaizduoja savo 4 bitų dvejetainiu kodu. Vietoj viso skaičiaus konvertavimo, konvertuojamas kiekvienas skaitmuo atskirai. Tai eikvojama vieta (naudojamos tik 10 iš 16 galimų 4 bitų kombinacijų), tačiau supaprastina dešimtainę aritmetiką aparatinėje įrangoje. Rasite BCD skaičiuotuvuose, skaitmeniniuose laikrodžiuose ir finansinėse sistemose, kur svarbi dešimtainė tikslumas.

Pavyzdys: Dešimtainis 42 BCD = 0100 0010 (4 ir 2 užkoduoti atskirai)

Dešimtainės ir dvejetainės skaičiavimo sistemų istorija

Kodėl mes skaičiuojame dešimtimis

Dešimtainė sistema atrodo natūrali, nes turime dešimt pirštų - būtent dėl to. Senovės civilizacijos nepriklausomai išvystė dešimtainę sistemą visame pasaulyje. Egiptiečiai naudojo hieroglifines dešimtaines skaitlines apie 3000 m. pr. Kr. Babiloniečiai maišė šešiasdešimtainę ir dešimtainę sistemas (todėl iki šiol turime 60 sekundžių minute). Tačiau tikrasis proveržis įvyko indų matematikų apie 500 m. po Kr., kai jie išrado nulį ir pozicijų notaciją - sistemą, kurioje skaitmens padėtis nulemia jo vertę. Ši inovacija per arabų matematiką pasklido Europoje apie 800 m. po Kr., suteikdama mums "hinduistų-arabų skaitmenis", kuriuos naudojame šiandien.

Netikėta dvejetainės sistemos istorija

Dvejetainė sistema kompiuterius lenkė šimtmečiais. I Ching, senovinis kinų tekstas iš apie 1000 m. pr. Kr., naudojo sulaužytas ir nesulaužytas linijas, labai primenančias dvejetainę notaciją. Tačiau formali dvejetainė aritmetika pasirodė tik 1679 m., kai Gottfriedas Wilhelmas Leibnizas paskelbė savo "Dvejetainės aritmetikos aiškinimą". Leibnizas buvo sužavėtas dvejetainės sistemos elegancijos - bet kokį skaičių galima pavaizduoti tik dviem simboliais.

Tikroji magija įvyko, kai Džordžas Bulis 1854 m. sukūrė Bulio algebrą, naudodamas dvejetainius tiesa/netiesa verčių loginėms operacijoms. Tada atsirado esminis ryšys: 1937 m. Klodo Šenono magistro disertacija įrodė, kad Bulio algebrą galima įgyvendinti naudojant elektrinius grandynus. Šis vienas įžvalgas padėjo pagrindą visiems skaitmeniniams kompiuteriams.

Kompiuterių revoliucija

Džonas Atanasoffas ir Kliffordas Beris 1939 m. sukūrė pirmąjį elektroninį skaitmeninį kompiuterį, naudojantį dvejetainę sistemą. Džonas von Neumann 1945 m. suformalizavo saugomų programų architektūrą, kur tiek duomenys, tiek instrukcijos egzistuoja kaip dvejetainis kodas atmintyje - modelis, kurį naudojame iki šiol. 1953 m. IBM jau pardavinėjo komercinius dvejetainius kompiuterius. 1963 m. ASCII standartas galutinai suteikė vieningą būdą vaizduoti teksto simbolius dvejetainiu kodu.

Nuostabiausia tai, kad kiekvienas kompiuterijos žingsnis - nuo kortelių iki išmaniųjų telefonų - vis dar iš esmės veikia dvejetainiu principu. Tiesiog mes nepaprastai gerai paslėpėme šią sudėtingumą abstrahavimo sluoksniais.

Dvejetainių skaičių į dešimtainius kodo pavyzdžiai kūrėjams

Reikia įgyvendinti šį konvertavimą savo kode? Štai švarūs, gamybai tinkami įgyvendinimai keliomis kalbomis. Kiekvienas apima įvesties patikrinimą, nes vartotojai neišvengiamai įklijuos netinkamus duomenis.

Daugelis šiuolaikinių kalbų turi įtaisytas funkcijas šiam konvertavimui – parseInt(str, 2) JavaScript, int(str, 2) Python, Integer.parseInt(str, 2) Java. Šie pavyzdžiai parodo ir kaip naudoti įtaisytas funkcijas, ir kaip veikia konvertavimo logika:

JavaScript

1// Dvejetainių skaičių į dešimtainius konvertavimas
2function binaryToDecimal(binary) {
3  if (!/^[01]+$/.test(binary)) {
4    return "Netinkamas dvejetainis skaičius";
5  }
6  return parseInt(binary, 2);
7}
8
9// Dešimtainių skaičių į dvejetainius konvertavimas
10function decimalToBinary(decimal) {
11  if (!/^\d+$/.test(decimal) || decimal < 0) {
12    return "Netinkamas dešimtainis skaičius";
13  }
14  return Number(decimal).toString(2);
15}
16
17// Naudojimo pavyzdys
18console.log(binaryToDecimal("1010")); // Išvestis: 10
19console.log(decimalToBinary("42"));   // Išvestis: 101010
20

Python

1# Dvejetainių skaičių į dešimtainius konvertavimas
2def binary_to_decimal(binary):
3    try:
4        # Patikrinti, ar įvestis turi tik 0 ir 1
5        if not all(bit in '01' for bit in binary):
6            return "Netinkamas dvejetainis skaičius"
7        return int(binary, 2)
8    except ValueError:
9        return "Netinkamas dvejetainis skaičius"
10
11# Dešimtainių skaičių į dvejetainius konvertavimas
12def decimal_to_binary(decimal):
13    try:
14        # Patikrinti, ar įvestis yra neneigiamas sveikasis skaičius
15        decimal = int(decimal)
16        if decimal < 0:
17            return "Netinkamas dešimtainis skaičius"
18        return bin(decimal)[2:]  # Pašalinti '0b' priešdėlį
19    except ValueError:
20        return "Netinkamas dešimtainis skaičius"
21
22# Naudojimo pavyzdys
23print(binary_to_decimal("1010"))  # Išvestis: 10
24print(decimal_to_binary("42"))    # Išvestis: 101010
25

Java

1public class BinaryDecimalConverter {
2    // Dvejetainių skaičių į dešimtainius konvertavimas
3    public static int binaryToDecimal(String binary) {
4        if (!binary.matches("[01]+")) {
5            throw new IllegalArgumentException("Netinkamas dvejetainis skaičius");
6        }
7        return Integer.parseInt(binary, 2);
8    }
9    
10    // Dešimtainių skaičių į dvejetainius 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švestis: 10
20        System.out.println(decimalToBinary(42));      // Išvestis: 101010
21    }
22}
23

C++

1#include <iostream>
2#include <string>
3#include <cmath>
4#include <regex>
5
6// Dvejetainių skaičių į dešimtainius konvertavimas
7int binaryToDecimal(const std::string& binary) {
8    // Patikrinti, ar įvestis turi tik 0 ir 1
9    if (!std::regex_match(binary, std::regex("[01]+"))) {
10        throw std::invalid_argument("Netinkamas 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šimtainių skaičių į dvejetainius 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švestis: 10
42    std::cout << decimalToBinary(42) << std::endl;      // Išvestis: 101010
43    return 0;
44}
45

Excel

1' Dvejetainių skaičių į dešimtainius konvertavimas
2Function BinaryToDecimal(binary As String) As Variant
3    ' Patikrinti, ar įvestis turi tik 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šimtainių skaičių į dvejetainius 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' Naudojimo pavyzdys langelyje:
26' =BinaryToDecimal("1010")  ' Grąžina: 10
27' =DecimalToBinary(42)      ' Grąžina: 101010
28

Dažniausiai užduodami klausimai apie dvejetainės į dešimtainę konversiją

Kas yra dvejetainis skaičius?

Dvejetainis skaičius naudoja tik du skaitmenis—0 ir 1—reikšmėms vaizduoti. Kiekvienas skaitmuo vadinamas bitu (dvejetainiu skaitmeniu). Galvokite tarsi apie šviesos jungiklį: jis yra arba išjungtas (0), arba įjungtas (1). Nors tai atrodo ribota, galite pavaizduoti bet kokį skaičių sujungdami pakankamai bitų, lygiai taip pat, kaip galite užrašyti bet kokį žodį naudodami tik 26 raides.

Kodėl kompiuteriai naudoja dvejetainę sistemą, o ne dešimtainę?

Štai praktinė priežastis: elektroninių komponentų, patikimai atskirsiančių dešimt skirtingų įtampos lygių (dešimtainei sistemai), gamyba yra brangi ir linkusi į klaidas. Du būviai—aukšta įtampa prieš žemą įtampą, magnetizuota prieš nemagnetizuotą—yra daug patikimesni ir pigesni gaminti. Claude Shannon įrodė savo 1937 metų magistro darbe, kad Bulio logika (kuri naudoja dvejetaines reikšmes) gali vaizduoti bet kokią loginę operaciją, padėdamas pagrindus šiuolaikinėms skaitmeninėms grandinėms. Daugiau apie Bulio algebros pagrindus galite perskaityti Stenforde filosofijos enciklopedijos įraše apie Bulio algebrą.

Kaip rankiniu būdu konvertuoti dvejetainį skaičių į dešimtainį?

Norėdami rankiniu būdu konvertuoti dvejetainį skaičių į dešimtainį:

  1. Užrašykite dvejetainį skaičių
  2. Priskirkite svorius kiekvienai pozicijai (iš dešinės į kairę: 1, 2, 4, 8, 16 ir t.t.)
  3. Padauginkite kiekvieną dvejetainį skaitmenį iš jo svorio
  4. Sudėkite visus rezultatus

Pavyzdžiui, dvejetainis 1101: 1×8 + 1×4 + 0×2 + 1×1 = 8 + 4 + 0 + 1 = 13

Kaip rankiniu būdu konvertuoti dešimtainį skaičių į dvejetainį?

Norėdami rankiniu būdu konvertuoti dešimtainį skaičių į dvejetainį:

  1. Padalykite dešimtainį skaičių iš 2
  2. Užrašykite liekaną (0 arba 1)
  3. Padalykite dalinį iš 2
  4. Kartokite, kol dalinys taps 0
  5. Skaitykite liekanas iš apačios į viršų

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 Skaitant iš apačios į viršų: 1101

Ar šis keitiklis gali tvarkyti neigiamus skaičius?

Šiuo metu ne—šis įrankis sutelkia dėmesį į neneigiamus sveikuosius skaičius, kurie apima didžiąją praktinių konversijų dalį. Neigiami dvejetainiai skaičiai reikalauja papildomos sudėtingumo: kompiuteriai paprastai naudoja „papildomo kodo" atvaizdavimą, kur apverčiami visi bitai ir pridedama 1. Nors tai įdomu (ir svarbu žemesnio lygio programavime), tai atskira tema, nusipelniusi atskiro paaiškinimo.

Jei dirbate su pasirašytais sveikaisiais skaičiais programavime, dauguma kalbų automatiškai tvarko papildomo kodo matematiką. Jums retai reikia rankiniu būdu konvertuoti neigiamus dešimtainius į dvejetainius, nebent derinsite žemesnio lygio programinę įrangą arba dirbate su įterptinėmis sistemomis.

(Vertimas tęsiasi toliau tuo pačiu principu)

Nuorodos ir papildoma literatūra

  1. Knuth, Donald E. „Kompiuterinio programavimo menas, 2 tomas: Pusiau skaitiniai algoritmai". Addison-Wesley, 1997.

  2. Shannon, Claude E. „Simbolinė relių ir jungimo grandinių analizė". Amerikos elektros inžinierių instituto žurnalas, t. 57, nr. 12, 1938, p. 713-723. Prieinama IEEE Xplore

  3. Leibniz, Gottfried Wilhelm. „Dvejetinės aritmetikos paaiškinimas". Karališkosios mokslų akademijos metraščiai, 1703.

  4. Boole, George. „Minties dėsnių tyrimas". Dover Publications, 1854 (perspausdinta 1958).

  5. Ifrah, Georges. „Visuotinė skaičių istorija: Nuo priešistorės iki kompiuterio išradimo". Wiley, 2000.

  6. „POSIX.1-2017: chmod". Atviros grupės bazinės specifikacijos. https://pubs.opengroup.org/onlinepubs/9699919799/utilities/chmod.html

  7. „RFC 791: Interneto protokolas". Interneto inžinerijos užduočių grupė (IETF), 1981. https://tools.ietf.org/html/rfc791

  8. „Intel 64 ir IA-32 architektūrų programinės įrangos kūrėjo vadovas". Intel Corporation. https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html

Pradėkite konvertuoti dabar

Viršuje esantis keitiklis leidžia akimirksniu konvertuoti abiem kryptimis. Įveskite savo skaičių bet kuriame lauke ir iš karto pamatysite rezultatą kartu su matematine skaidymo schema, kuri tiksliai parodo, kaip vyksta konvertavimas.

Ką gausite:

  • Momentinis konvertavimas tarp dvejetainės ir dešimtainės sistemos
  • Vaizdingas konvertavimo proceso paaiškinimas
  • Palaikymas skaičiams iki 53 bitų (daugiau nei 9 kvadrilijonai)
  • Vieno paspaudimo rezultatų kopijavimas
  • Jokios registracijos, jokių mokesčių, veikia bet kuriame įrenginyje

Nesvarbu, ar derinsite tinklo konfigūracijas, nustatysite failų leidimus, ar mokysitės apie kompiuterių architektūrą, dvejetainės-dešimtainės sistemos konvertavimo supratimas yra pagrindinis įgūdis. Šis įrankis padaro tai paprastai.