Kahendsüsteemist kümnendarvuks teisendaja | Tasuta veebiriist

Teisendage kahendsüsteem ja kümnendarv koheselt. Tasuta tööriist sammhaavaliste selgitustega, koodinäidete ja praktiliste kasutusjuhtudega arendajatele ja õpilastele.

Kahendsüsteemi-kümnendarvusüsteemi teisendaja

Teisendage kahendsüsteemi ja kümnendarvusüsteemi vahel koheselt.

Kopeeri

Kahendsüsteemi numbrid kasutavad ainult 0-sid ja 1-si

Kopeeri

Kümnendarvusüsteemi numbrid kasutavad numbreid 0-9

Sisestage väärtus ühte välja, et näha teisendust teises väljal.

📚

Dokumentatsioon

Kahendsüsteemist kümnendarvusüsteemi teisendaja: Teisendage arvusüsteeme silmapilkselt

Kas olete kunagi vaadanud 1-de ja 0-de ahelat, mõeldes, millist arvu need tegelikult tähistavad? Kui te töötate arvutitega mis tahes tasemel - olgu selleks võrguprobleemide silumine, mikrokontrollerite programmeerimine või lihtsalt huvi arvutite mõtlemisviisi vastu - peate varem või hiljem teisendama kahendsüsteemi ja kümnendarvusüsteemi vahel.

See tööriist teostab teisenduse mõlemas suunas silmapilkselt. Sisestage oma arv kummalegi väljale ja jälgige tõlget. Veelgi olulisem, te näete kuidas teisendus toimub, mis on oluline, kui püüate mõista, mis toimub teie koodi all.

Siin on see, mis muudab kahendsüsteemi-kümnendarvusüsteemi teisendamise keeruliseks: meie ajud on häälestatud kümnendarvusüsteemile (meil on lõppude lõpuks kümme sõrme), kuid arvutid töötavad ainult kahearvulises süsteemis. Iga andmekild - tekst, pildid, videod, teie sirvimise ajalugu - laguneb lõpuks 0-de ja 1-de järjenditeks. Selle seose mõistmine ei ole mitte ainult akadeemiline, vaid praktiline teadmine, mis tuleb esile IP-aadresside, failide õiguste, bititegevuste ja mäluviidetega.

Hea uudis? Kui te mustri kätte saate, muutuvad teisendused lihtsaks. Matemaatika on lihtne - see on lihtsalt korrutamine ja liitmine (või jagamine vastupidisel suunal). Inimesi ajab segadusse positsiooni väärtuste jälgimine, eriti pikematel arvudel. Seda täpselt lahendabki see teisendaja.

Kuidas teisendada kahendsüsteemist kümnendarvuks ja vastupidi

Kümnendarvu süsteemi (alus-10) mõistmine

Sa juba tead kümnendarvu süsteemi – seda, mida õppisid algkoolis. Kasutame kümmet numbrit (0-9), ja iga positsioon tähistab 10 astmeid:

Ku¨mnendarv=dn×10n+dn1×10n1+...+d1×101+d0×100\text{Kümnendarv} = d_n \times 10^n + d_{n-1} \times 10^{n-1} + ... + d_1 \times 10^1 + d_0 \times 10^0

Võtame arvu 427. Lahutades selle positsioonideks:

  • 4 × 10² = 400 (sajakoht)
  • 2 × 10¹ = 20 (kümnendkoht)
  • 7 × 10⁰ = 7 (ühekoht)

Nende väärtuste liitmisel: 400 + 20 + 7 = 427

Me võtame seda positsioonilist märkimisviisi iseenesestmõistetavana, kuid see oli revolutsiooniline leiutis. Enne positsioonilist süsteemi oli arvutamine äärmiselt tülikas (proovige kord korrutada rooma numbreid).

Kahendsüsteemi (alus-2) mõistmine

Kahendsüsteem töötab samamoodi nagu kümnendarv, ainult et 10 asemel kasutatakse 2 astmeid. Teil on ainult kaks numbrit – 0 ja 1:

Kahendarv=bn×2n+bn1×2n1+...+b1×21+b0×20\text{Kahendarv} = b_n \times 2^n + b_{n-1} \times 2^{n-1} + ... + b_1 \times 2^1 + b_0 \times 2^0

Võtame kahendarvu 1010. Iga positsioon paremalt vasakule tähistab 1, 2, 4, 8, 16 jne:

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

Nende väärtuste liitmisel: 8 + 0 + 2 + 0 = 10 kümnendarvuna

Muster on identne kümnendarvuga, lihtsalt teise alusega. Kui see omandad, muutub kahendsüsteem sama loomulikuks kui tavaliste numbrite lugemine.

Kahendsüsteemist kümnendsüsteemi teisendamise valemid ja meetodid

Kahendsüsteemist kümnendsüsteemi: Matemaatika taga

Kahendsüsteemist kümnendüsteemi teisendamine järgib lihtsat mustrit: korrutage iga numbrit selle positsiooni 2 astmega ning liitke tulemused kokku. Valem näeb välja nii:

Ku¨mnendik=i=0nbi×2i\text{Kümnendik} = \sum_{i=0}^{n} b_i \times 2^i

Kus:

  • bib_i on iga kahendsüsteemi number (kas 0 või 1)
  • ii on positsioon paremalt vasakule lugedes (algab 0-st)
  • nn on numbrite koguarv miinus 1

Tundub keeruline? Tegelikult on see praktikas lihtne. Iga positsioon paremalt vasakule tähistab 1, 2, 4, 8, 16, 32 jne - iga kord kahekordistudes.

Näide: Kahendsüsteemi 1101 teisendamine kümnendüsteemi

  1. 1 × 2³ = 8
  2. 1 × 2² = 4
  3. 0 × 2¹ = 0
  4. 1 × 2⁰ = 1
  5. Summa: 8 + 4 + 0 + 1 = 13 kümnendik

Pange tähele, et me liidame ainult need positsioonid, kus on 1. Nullid ei anna midagi, seega võite need mõttes vahele jätta. 1101 laguneb positsioonideks 0, 2 ja 3 (mis võrdub 1 + 4 + 8 = 13).

Kümnendüsteemist kahendsüsteemi: Jagamise meetod

Vastupidises suunas - kümnendüsteemist kahendsüsteemi - kasutatakse teist lähenemist. Te jagate numbrit korduvalt 2-ga:

  1. Jagage oma kümnendik 2-ga
  2. Kirjutage üles jääk (alati 0 või 1)
  3. Võtke jagatis ja jagage see uuesti 2-ga
  4. Jätkake kuni jagatis jõuab 0-ni
  5. Lugege kõik jäägid tagurpidi (alt üles)

Näide: Kümnendiku 25 teisendamine kahendsüsteemi

  1. 25 ÷ 2 = 12 jääk 1
  2. 12 ÷ 2 = 6 jääk 0
  3. 6 ÷ 2 = 3 jääk 0
  4. 3 ÷ 2 = 1 jääk 1
  5. 1 ÷ 2 = 0 jääk 1
  6. Lugedes alt üles: 11001 kahendsüsteemis

Võtmeks on meeles pidada, et tuleb järjekord ümber pöörata. Esimene jääk, mille arvutate, saab viimase (paremPoolseima) numbri teie kahendsüsteemi tulemuseks. See võib alguses inimesi segadusse ajada, kuid see muutub mõistetavaks, kui mõistate, et te olete sisuliselt kõige vähem olulist bitti esimesena eemaldamas.

Kuidas seda teisendajat kasutada

Tööriist toimib kahepoolselt—sisestage ükskõik kumba välja ja jälgige, kuidas teine väli koheselt uueneb. Ühtegi nuppu pole vaja vajutada, ühtegi vormi pole vaja saata.

Binaarsest kümnendarvuks teisendamine

Sisestage oma binaarne number (ainult 0-d ja 1-d) Binaarse välja. Kümnendarvuline vaste ilmub kohe. Kui te kogemata lisate 2 või mõne muu sobimatu numbri, kuvatakse veateade.

Pro näpunäide: Saate kleepida binaarseid väärtusi otse koodist, andmelehelt või võrguanalüsaatorist. Tööriist eemaldab automaatselt tühikud ja tavalised eesliited nagu 0b.

Kümnendarvust binaararvuks teisendamine

Sisestage ükskõik milline mittenegatiivne täisarv Kümnendarvu välja, ja binaarne esitus ilmub koheselt. Töötab kõigi arvudega nullist üle 9 triljoni.

Levinud kasutusjuht: Kui te seadistate bitivõtmeid koodis ja vajate kinnitust, millised bitid on sisse lülitatud. Sisestage 255 ja näete 11111111—kõik 8 bitti ühes baadis on sisse lülitatud.

Protsessi mõistmine

Sisestusväljadest allpool näete iga teisenduse samm-sammult matemaatikat. See on eriti kasulik õppimisel või kui peate kellelegi teisendust selgitama. Binaarsest kümnendarvuks teisendamisel näitab see iga positsiooni väärtust ja kuidas need summeeruvad. Kümnendarvust binaararvuks teisendamisel näitab see jagamise protsessi 2-ga.

[SVG sisu jääb samaks, kuna see on tehniline graafika]

Binaarsed teisendusrakendused: Reaalsed kasutusjuhud

Praktikas esineb binaarne-kümnendarvuline teisendus sagedamini, kui võiks arvata. Siin on stsenaariumid, kus ma olen leidnud need teisendused tõeliselt kasulikuks:

Arvutiteadus ja programmeerimine

Mäluprobleemide silumisel näete sageli aadresse kuueteistkümnendsüsteemis (mis on lihtsalt grupeeritud binaarne). Kümnendarvuks teisendamine aitab arvutada nihkeid või kontrollida, kas te ligipääsete õigele asukohale. Sarnaselt muudavad bititeisendused palju rohkem mõtet, kui saate visualiseerida binaarse esituse—proovige mõista x & (x-1) ilma bittide toimimist nägemata.

Levinud viga: unustada, et bititeisendused on tegelikult lihtsalt korrutamine või jagamine kahe astmetega. Kui koodis ilmub x << 3, aitab selle mõistmine kui "korrutamine 8-ga" (2³) teil mõista jõudluse optimeerimisi.

Digitaelelektroonika

Mikrokontrolleri andmelehed määratlevad registri konfiguratsioonid nii kuueteistkümnendsüsteemis kui binaarselt. GPIO-pinnide seadmisel või tajurite konfigureerimisel peate lülitama kindlaid bitte teisi mõjutamata. See nõuab täpset arusaamist, milline bitiväärtus vastab millisele kümnendarvule. Näiteks bitti 5 seadmine tähendab 32 (2⁵) lisamist teie registri väärtusele.

Võrguinseneeria

IPv4 aadressid on tegelikult lihtsalt 32-bitised binaarsed arvud, mis on jagatud neljaks okteediks. Kui te näete 192.168.1.1 ja peate mõistma alamvõrgu maske, töötate binaarsega. Proovige arvutada, kas 192.168.1.50 ja 192.168.1.200 on samal /25 võrgul ilma binaarse teisenduseta—see on peaaegu võimatu. Vastavalt RFC 791 toimivad IP-aadressid põhimõtteliselt binaarsete väärtustena, isegi kui me kirjutame neid mugavuse pärast kümnendarvudena.

Failiõigused (Unix/Linux)

Need kolmekohalised õiguste koodid nagu 755 või 644? Iga number on tegelikult oktaalne (alus-8), mis teisendub puhtalt 3-bitisteks binaargruptideks. Kui te seadistate õigused 755, ütlete tegelikult 111 101 101 binaarselt—täielikud õigused omanikule, lugemine+käivitamine grupile, lugemine+käivitamine teistele. Selle binaarse aluse mõistmine muudab chmod toimingud intuitiivseks, mitte lihtsalt päheõpituks.

Näide: IP-aadresside teisendamine

IPv4 aadress nagu 192.168.1.1 võib olla esitatud binaarselt:

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

Kombineeritult: 11000000.10101000.00000001.00000001

Teised arvusüsteemid, millega te kokku puutute

Binaarne ja kümnendarvuline pole ainsad arvutusmaailmas. Siin on teised arvusüsteemid, millega te kokku puutute:

Kuueteistkümnendsüsteem (Alus-16)

Kuueteistkümnendsüsteem on programmeerimises igal pool—mäluaadressid, värvikoodi, assemblerkeel. See kasutab numbreid 0-9 ja tähti A-F. Kuueteistkümnendsüsteemi ilu on selles, et iga number vastab täpselt 4 binaarsele bitile, muutes selle binaarse kirjutamise palju loetavamaks.

Näide: Binaarne 1010 1101 = Kuueteistkümnendsüsteem AD (vs kümnendarvuna 173)

Kui te näete värvikoodi nagu #FF5733, on see kuueteistkümnendsüsteemis—iga paar tähistab punast, rohelist ja sinist väärtust. FF (255 kümnendarvuna) tähendab maksimaalset punase intensiivsust.

Oktaalne (Alus-8)

Oktaalne kasutab numbreid 0-7, kus iga number tähistab täpselt 3 binaarbitti. Kuigi see on tänapäeval vähem levinud, näete seda endiselt Unix-i failiõigustes (chmod 755) ja mõnikord pärandsüsteemides. See oli varajases arvutusmaailmas populaarne, kuna paljud arvutid kasutasid sõna suurusi, mis olid 3 kordsed.

Näide: Binaarne 101 011 = Oktaalne 53

Binaarselt kodeeritud kümnendarvud (BCD)

BCD esitab iga kümnendarvulise numbri oma 4-bitise binaarse koodiga. Selle asemel, et teisendada kogu arvu, teisendatakse iga number eraldi. See raiskab ruumi (te kasutate ainult 10 16-st võimalikust 4-bitisest kombinatsioonist), kuid muudab kümnendarvulise arvutamise riistvara jaoks lihtsamaks. Te leiate BCD-d kalkulaatoritest, digitaalkellast ja finantssüsteemidest, kus kümnendarvuline täpsus on oluline.

Näide: Kümnendarvuna 42 BCD-s = 0100 0010 (4 ja 2 kodeeritud eraldi)

Kümnendarvu ja kahendsüsteemi ajalugu

Miks me loeme kümnendarvudes

Kümnendarv tundub loomulik, sest meil on kümme sõrme - tõsiselt, see ongi põhjus. Vanad tsivilisatsioonid arendasid üle maailma sõltumatult välja kümnepõhised süsteemid. Egiptlased kasutasid hieroglüüfilisi kümnepõhiseid numbreid umbes 3000 eKr. Babüloonlased segasid kuuekümne- ja kümnepõhist süsteemi (miks meil on siiani 60 sekundit minutis). Kuid tõeline läbimurre tuli India matemaatikutelt umbes 500 pKr, kui nad leiutasid nulli ja positsionaalse tähistuse - süsteemi, kus numbri positsioon määrab selle väärtuse. See uuendus levis araablaste matemaatika kaudu Euroopasse 800. aastaks, andes meile "hindu-araabia numbrid", mida me täna kasutame.

Kahendsüsteemi üllatav ajalugu

Kahendsüsteem eksisteeris arvutajatest sajandeid varem. I Ching, muistne hiina tekst umbes 1000 eKr, kasutas katkestatud ja katkematuid jooni mustrites, mis sarnanesid väga kahendsüsteemi tähistusega. Kuid formaalne kahendsüsteemi aritmeetika ilmus alles 1679. aastal, kui Gottfried Wilhelm Leibniz avaldas oma "Kahendsüsteemi seletuse". Leibniz oli vaimustatud kahendsüsteemi elegantsist - saab esitada ükskõik millist arvu vaid kahe sümboliga.

Tõeline ime juhtus, kui George Boole arendas 1854. aastal Boole'i algebra, kasutades kahendsüsteemi tõene/väär väärtusi loogiliste operatsioonide esitamiseks. Siis tuli otsustav seos: 1937. aastal tõestas Claude Shannon oma magistritöös, et Boole'i algebraat saab rakendada elektrilistes ahelates. See üksainus arusaamine pani aluse igale kunagi ehitatud digitaalarvutile.

Arvutite revolutsioon

John Atanasoff ja Clifford Berry disainisid esimese elektroonilise digitaalarvuti, kasutades kahendsüsteemi 1939. aastal. John von Neumann formaliseeris salvestatud programmi arhitektuuri 1945. aastal, kus nii andmed kui ka juhised eksisteerivad kahendsüsteemi koodina mälus - mudel, mida me siiani kasutame. 1953. aastaks müüs IBM juba ärilisi kahendsüsteemis arvuteid. 1963. aasta ASCII standard andis meile lõpuks ühtse viisi teksti märkide esitamiseks kahendsüsteemis.

Märkimisväärne on see, et iga arvutite areng - alates perfokaartidest kuni nutitelefonideni - toimib endiselt kahendsüsteemis. Oleme lihtsalt muutunud äärmiselt osavaks selle keerukuse varjamisel abstraktsioonikihtide taha.

Binaarsed kümnendsüsteemi koodinäited arendajatele

Kas vajate selle teisenduse rakendamist oma koodis? Siin on puhtad, tootmiseks valmis implementatsioonid mitmes keeles. Iga näide sisaldab sisendi valideerimist, kuna kasutajad paratamatult kleebivad vigast andmestikku.

Enamik tänapäevaseid keeli omavad sisseehitatud funktsioone - parseInt(str, 2) JavaScriptis, int(str, 2) Pythonis, Integer.parseInt(str, 2) Javas. Need näited näitavad nii sisseehitatud funktsioonide kasutamist kui ka teisendusloo tegelikku toimimist:

JavaScript

1// Binaarsest kümnendsüsteemi teisendamine
2function binaryToDecimal(binary) {
3  if (!/^[01]+$/.test(binary)) {
4    return "Vigane binaarne number";
5  }
6  return parseInt(binary, 2);
7}
8
9// Kümnendsüsteemist binaarsüsteemi teisendamine
10function decimalToBinary(decimal) {
11  if (!/^\d+$/.test(decimal) || decimal < 0) {
12    return "Vigane kümnendsüsteemi number";
13  }
14  return Number(decimal).toString(2);
15}
16
17// Kasutamise näide
18console.log(binaryToDecimal("1010")); // Väljund: 10
19console.log(decimalToBinary("42"));   // Väljund: 101010
20

Python

1# Binaarsest kümnendsüsteemi teisendamine
2def binary_to_decimal(binary):
3    try:
4        # Kontrolli, kas sisend sisaldab ainult 0-sid ja 1-si
5        if not all(bit in '01' for bit in binary):
6            return "Vigane binaarne number"
7        return int(binary, 2)
8    except ValueError:
9        return "Vigane binaarne number"
10
11# Kümnendsüsteemist binaarsüsteemi teisendamine
12def decimal_to_binary(decimal):
13    try:
14        # Kontrolli, kas sisend on mittenegatiivne täisarv
15        decimal = int(decimal)
16        if decimal < 0:
17            return "Vigane kümnendsüsteemi number"
18        return bin(decimal)[2:]  # Eemalda '0b' eesliide
19    except ValueError:
20        return "Vigane kümnendsüsteemi number"
21
22# Kasutamise näide
23print(binary_to_decimal("1010"))  # Väljund: 10
24print(decimal_to_binary("42"))    # Väljund: 101010
25

Java

1public class BinaryDecimalConverter {
2    // Binaarsest kümnendsüsteemi teisendamine
3    public static int binaryToDecimal(String binary) {
4        if (!binary.matches("[01]+")) {
5            throw new IllegalArgumentException("Vigane binaarne number");
6        }
7        return Integer.parseInt(binary, 2);
8    }
9    
10    // Kümnendsüsteemist binaarsüsteemi teisendamine
11    public static String decimalToBinary(int decimal) {
12        if (decimal < 0) {
13            throw new IllegalArgumentException("Negatiivsed numbrid pole toetatud");
14        }
15        return Integer.toBinaryString(decimal);
16    }
17    
18    public static void main(String[] args) {
19        System.out.println(binaryToDecimal("1010"));  // Väljund: 10
20        System.out.println(decimalToBinary(42));      // Väljund: 101010
21    }
22}
23

C++

1#include <iostream>
2#include <string>
3#include <cmath>
4#include <regex>
5
6// Binaarsest kümnendsüsteemi teisendamine
7int binaryToDecimal(const std::string& binary) {
8    // Kontrolli, kas sisend sisaldab ainult 0-sid ja 1-si
9    if (!std::regex_match(binary, std::regex("[01]+"))) {
10        throw std::invalid_argument("Vigane binaarne number");
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// Kümnendsüsteemist binaarsüsteemi teisendamine
23std::string decimalToBinary(int decimal) {
24    if (decimal < 0) {
25        throw std::invalid_argument("Negatiivsed numbrid pole toetatud");
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äljund: 10
42    std::cout << decimalToBinary(42) << std::endl;      // Väljund: 101010
43    return 0;
44}
45

Excel

1' Binaarsest kümnendsüsteemi teisendamine
2Function BinaryToDecimal(binary As String) As Variant
3    ' Kontrolli, kas sisend sisaldab ainult 0-sid ja 1-si
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' Kümnendsüsteemist binaarsüsteemi teisendamine
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' Kasutamise näide lahtris:
26' =BinaryToDecimal("1010")  ' Väljund: 10
27' =DecimalToBinary(42)      ' Väljund: 101010
28

Korduma Kippuvad Küsimused Binaarsest Kümnendarvuks Teisendamise Kohta

Mis on binaarne arv?

Binaarne arv kasutab väärtuste esitamiseks ainult kahte numbrit—0 ja 1—, kus iga numbrit nimetatakse bitiks (binaarseks numbrites). Mõelge sellest nagu lülitist: see on kas väljas (0) või sees (1). Kuigi see tundub piiratuks, saate siiski ükskõik millist arvu esitada, ühendades piisavalt bitte, sarnaselt sellele, kuidas saate kirjutada ükskõik millist sõna, kasutades ainult 26 tähte.

Miks arvutid kasutavad binaarsüsteemi kümnendarvude asemel?

Siin on praktiline põhjus: kümnendarvude jaoks kümne erineva pingeaseme usaldusväärselt eristamine on kulukas ja vigadele aldis. Kaks olekut—kõrge pinge vs madal pinge, magnetiseeritud vs magnetiseerimata—on palju usaldusväärsemad ja odavamad tootmiseks. Claude Shannon tõestas oma 1937. aasta magistritöös, et Boole'i loogika (mis kasutab binaarseid väärtusi) võib esitada iga loogilise operatsiooni, pannes aluse kaasaegsetele digitaalsetele vooluringidele. Saate lugeda rohkem Boole'i algebra põhimõtetest Stanford Encyclopedia of Philosophy Boole'i algebra sissekandes.

Kuidas teisendada binaararvu käsitsi kümnendarvuks?

Binaararvu käsitsi kümnendarvuks teisendamiseks:

  1. Kirjutage binaararv üles
  2. Määrake igale positsioonile kaalud (paremalt vasakule: 1, 2, 4, 8, 16 jne)
  3. Korrutage iga binaarne number tema kaaluga
  4. Liitke kõik tulemused

Näiteks, binaarne 1101: 1×8 + 1×4 + 0×2 + 1×1 = 8 + 4 + 0 + 1 = 13

Kuidas teisendada kümnendarvu käsitsi binaarvuks?

Kümnendarvu käsitsi binaarvuks teisendamiseks:

  1. Jagage kümnendarv 2-ga
  2. Kirjutage üles jääk (0 või 1)
  3. Jagage saadud jagatis 2-ga
  4. Korrake kuni jagatis muutub nulliks
  5. Lugege jäägid alt üles

Näiteks, kümnendarv 13: 13 ÷ 2 = 6 jääk 1 6 ÷ 2 = 3 jääk 0 3 ÷ 2 = 1 jääk 1 1 ÷ 2 = 0 jääk 1 Alt üles lugedes: 1101

Kas see teisendaja käsitleb negatiivseid arve?

Praegu mitte—see tööriist keskendub mittenegatiivsetele täisarvudele, mis katab enamiku praktilistest teisendamise vajadustest. Negatiivsed binaarsed arvud nõuavad täiendavat keerukust: arvutid kasutavad tavaliselt "kahendkomplendi" esitust, kus te pöörate kõik bitid ja lisate 1. Kuigi see on huvitav (ja oluline madaltasemelises programmeerimises), on see eraldi teema, mis väärib omaette selgitust.

Kui töötate programmeerimises märgitud täisarvudega, siis enamik keeli teeb kahendkomplendi matemaatika automaatselt. Te harva peate käsitsi teisendama negatiivseid kümnendarve binaarvuks, välja arvatud siis, kui te silusite assembleri tasemel või töötasite sisseehitatud süsteemidega.

Milline on suurim arv, mida see tööriist saab teisendada?

Tööriist käsitleb arve kuni JavaScripti ohutu täisarvu piirini: 2⁵³ - 1, mis on 9 007 199 254 740 991 kümnendarvuna või 53 bitina binaarvus. See on üle 9 kvadriljoni—rohkem kui piisav mis tahes praktiliseks rakenduseks.

Võrdluseks, 32-bitine täisarv ulatub umbes 2,1 miljardini (2³¹ - 1 märgitud arvuna). Seega katab see tööriist mugavalt nii 32-bitised kui ka 53-bitised vahemikud. Kui teil on vaja töötada suuremate arvudega (näiteks krüptograafilised võtmed), vajate spetsialiseeritud piiramatu täpsusega teeke nagu Python'i sisseehitatud int tüüp või JavaScripti BigInt.

[Ülejäänud tõlge jätkub samamoodi...]

Viited ja edasine lugemine

  1. Knuth, Donald E. "Arvutiprogrammeerimise kunst, 2. köide: Seminumeraalsed algoritmid." Addison-Wesley, 1997.

  2. Shannon, Claude E. "Relee- ja lülitusahelate sümboolne analüüs." Electrical Engineers Ameerika Instituudi Tehingud, köide 57, nr 12, 1938, lk 713-723. Saadaval IEEE Xplore'ist

  3. Leibniz, Gottfried Wilhelm. "Binaararitmetika selgitus". Kuningliku Teaduste Akadeemia Mälestised, 1703.

  4. Boole, George. "Mõtlemise seaduste uurimine." Dover Publications, 1854 (taasavaldatud 1958).

  5. Ifrah, Georges. "Numbrite universaalne ajalugu: Esiajalugu kuni arvuti leiutamiseni." Wiley, 2000.

  6. "POSIX.1-2017: chmod." The Open Group Base Specifications. https://pubs.opengroup.org/onlinepubs/9699919799/utilities/chmod.html

  7. "RFC 791: Interneti protokoll." Internet Engineering Task Force (IETF), 1981. https://tools.ietf.org/html/rfc791

  8. "Intel 64 ja IA-32 arhitektuuride tarkvaraarendaja käsiraamat." Intel Corporation. https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html

Alusta teisendamist kohe

Lehe ülaosas olev teisendaja võimaldab koheseid teisendusi mõlemas suunas. Sisestage number kumba tahes välja ja näete tulemust kohe koos matemaatilise selgitusega, mis näitab täpselt, kuidas teisendus toimub.

Mida te saate:

  • Kohene teisendamine kahendsüsteemi ja kümnendsüsteemi vahel
  • Visuaalne selgitus teisendusprotsessist
  • Toetus kuni 53-bitistele numbritele (üle 9 kvadriljoni)
  • Tulemuste ühe klõpsuga kopeerimine
  • Ei vaja registreerimist, tasuta, töötab kõigil seadmetel

Kas te debugite võrgukonfiguratsioone, määrate failiõigusi või õpite arvutitarhitektuuri, siis kahendsüsteemi ja kümnendsüsteemi teisendamise mõistmine on põhiline oskus. See tööriist muudab selle lihtsakoeliseks.

🔗

Seotud tööriistad

Avasta rohkem tööriistu, mis võivad olla kasulikud teie töövoos