Šioje gairėje bus aptarta, kaip dvejetainius skaičius konvertuoti į dešimtainius skaičius C.
Prieš patekdami į pačią sąvoką, pažiūrėkime, kas yra dvejetainiai ir dešimtainiai skaičiai C.
Dvejetainiai ir dešimtainiai skaičių formatai C
Dvejetainiai skaičiai yra skaičiai, pavaizduoti dviejų skaitmenų 0 ir 1 derinio forma, ir jie vadinami 2 bazine skaičių sistema. Kita vertus, dešimtainiai skaičiai yra 10 bazinių skaičių, kuriuos sudaro skaitmenys nuo 0 iki 9.
Kaip matote iš pavadinimo dvejetainis, kuris reiškia du, taigi, kai turime skaičius dviejų skaitmenų 0 ir 1 derinio pavidalu, mes juos vadiname dvejetainiais skaičiais. ji vadinama bazine 2 skaičių sistema.
Kodėl dvejetainius skaičius konvertuoti į dešimtainius C
Darbas su dvejetainiais skaičiais yra sudėtingas kūrėjams dėl daugybės galimų 0 ir 1 derinių. Kita vertus, dešimtainiai skaičiai yra lengviau suprantami ir apdorojami, todėl jie yra greitesnis ir efektyvesnis C programų metodas. Dvejetainių skaičių konvertavimas į dešimtainius skaičius C reiškia, kad visi dvejetainiai skaitmenys padauginami iš atitinkamos dviejų laipsnio ir sudedami rezultatai, o tai daroma naudojant kilpas.
Paprastas algoritmas konvertuoti dvejetainį į dešimtainį C
Čia yra paprastas algoritmas, kaip konvertuoti dvejetainį skaičių į dešimtainę C, naudojant šešis paprastus veiksmus:
- Paimkite dvejetainį skaičių kaip įvestį iš vartotojo.
- Kintamąjį „dešimtainis“ inicijuokite iki 0, o kintamąjį „base“ – iki 1.
- Ištraukite dešinįjį dvejetainio skaičiaus skaitmenį naudodami modulio operatorių (%) ir šio skaitmens sandaugą pridėkite prie dešimtainio kintamojo.
- Bazinį kintamąjį padauginkite iš 2.
- Pašalinkite dešinįjį skaitmenį iš dvejetainio skaičiaus naudodami sveikųjų skaičių padalijimą (/).
- Kartokite 3–5 veiksmus, kol bus apdoroti visi skaitmenys.
- Rodyti dešimtainę dvejetainio skaičiaus reikšmę, saugomą dešimtainiame kintamajame.
Konvertuokite dvejetainius skaičius į dešimtainius C
Toliau pateikiamas paprastas kodas, skirtas dvejetainiams skaičiams konvertuoti į dešimtainius C programavimo būdus.
#include
#include
tarpt pagrindinis ( ) {
ilgai ilgai a ;
printf ( 'Prašome įterpti dvejetainį skaičių:' ) ;
scanf ( „%lld“ , & a ) ;
printf ( '%lld dvejetainiu formatu = %d dešimtainio skaičiaus forma' , a , binaryToDecimal ( a ) ) ;
grąžinti 0 ; }
tarpt binaryToDecimal ( ilgai ilgai a ) {
tarpt gruod = 0 , b = 0 , r ;
kol ( a != 0 ) {
r = a % 10 ;
a /= 10 ;
gruod += r * pow ( 2 , b ) ;
++ b ;
}
grąžinti gruod ;
}
Aukščiau pateiktame kode kaip pavadinimas yra sukurta visuotinė funkcija „binary-todecimal“ . Tada iš esmės deklaruojame ilgą ilgą kintamąjį kaip 'a' ir paprašykite vartotojo pridėti dvejetainį skaičių ir konvertuoti jį į dešimtainį skaičių skambinant „binary-todecimal“ funkcija su parametru a“. Viduje „binary-todecimal“ funkcijos apibrėžimas dešimtainė konversija per while kilpą.
Išvestis
Taip pat galite naudoti įmontuotą strtol() funkcija konvertuoti dvejetainius skaičius į dešimtainius C programavimo.
Toliau pateikiamas tokios funkcijos kodas:
#include#include
tarpt pagrindinis ( ) {
char dvejetainė_styga [ ] = '1110' ;
char * ptr ;
ilgai dešimtainė_reikšmė ;
dešimtainė_reikšmė = sudužo ( dvejetainė_styga , & ptr , 2 ) ;
printf ( 'Dvejetainė eilutė' % s “ yra lygi dešimtainei reikšmei %ld. \n “ , dvejetainė_styga , dešimtainė_reikšmė ) ;
grąžinti 0 ;
}
Aukščiau pateiktas kodas konvertuoja dvejetainę eilutę „1110“ į lygiavertę dešimtainę reikšmę naudojant strtol() funkcija, kuri kaip argumentus paima dvejetainę eilutę, žymeklį į char žymeklį ir skaičių sistemos pagrindą. Galiausiai jis atspausdina rezultatą į konsolę naudodamas printf ().
Išvestis
Išvada
Kaip žinome, žmonės žino dešimtainius skaičius, palyginti su dvejetainiais, nes juos sunku valdyti. Dešimtainius skaitmenis lengva atlikti aritmetines operacijas, nes jie yra 10 bazėje, o jų apdorojimas yra greitesnis, palyginti su dvejetainiais skaitmenimis, todėl dvejetainiai skaičiai konvertuojami į dešimtainius. Aukščiau pateiktoje apžvalgoje paaiškintas dvejetainių skaičių konvertavimas į dešimtaines dalis naudojant C programą su vartotojo apibrėžtomis funkcijomis ir įtaisytomis strtol() funkcija.