Kuidas teisendada kahendarvud kümnendkohtadeks C-s

Kuidas Teisendada Kahendarvud Kumnendkohtadeks C S



Kahendarvud on 0-de ja 1-de kombinatsioonid, samas kui kümnendarvud on 10-põhised numbrid. C-programmeerimises teisendame kahendarvud kümnendarvudeks, et parandada koodi jõudlust ja muuta see õppijatele lihtsamaks.

See juhend käsitleb binaararvude teisendamist kümnendarvudeks C-s.

Enne kontseptsiooni enda juurde asumist vaatame, mis on C-s kahend- ja kümnendarvud.







Kahe- ja kümnendarvu vormingud C-s

Kahendarvud on arvud, mis on esitatud kahe numbri 0 ja 1 kombinatsioonina ning neid nimetatakse 2. põhinumbrisüsteemiks. Kümnendarvud seevastu on 10. põhiarvud, mis koosnevad numbritest vahemikus 0 kuni 9.



Nagu näete nimetusest binaar, mis tähendab kahte, nii et kui meil on arvud kahe numbri 0 ja 1 kombinatsioonina, nimetame neid kahendarvudeks. seda nimetatakse 2. põhinumbrisüsteemiks.



Miks teisendada binaararvud C-s kümnendkohtadeks

Kahendarvudega töötamine on arendajatele keeruline, kuna 0-de ja 1-de kombinatsioonid on palju võimalikud. Kümnendarvudest on seevastu lihtsam aru saada ja töödelda, mistõttu on need C-programmide jaoks kiirem ja tõhusam meetod. Binaararvude teisendamine kümnendarvudeks C-s hõlmab kõigi kahendarvude korrutamist sobiva kahe astmega ja tulemuste liitmist, mida tehakse silmuste abil.





Lihtne algoritm binaarseks teisendamiseks kümnendarvuks C-s

Siin on lihtne algoritm binaararvu teisendamiseks kümnendarvuks C-s kuue lihtsa sammu abil:

  • Võtke kasutaja sisendiks binaararv.
  • Initsialiseerige muutuja 'decimal' väärtuseks 0 ja muutuja 'base' väärtuseks 1.
  • Eraldage moodulite operaatori (%) abil kahendarvu parempoolseim number ning lisage kümnendmuutujale selle numbri ja aluse korrutis.
  • Korrutage põhimuutuja 2-ga.
  • Eemaldage kahendarvust parempoolseim number täisarvu jagamise (/) abil.
  • Korrake samme 3-5, kuni kõik numbrid on töödeldud.
  • Kuvage kümnendarvu muutujasse salvestatud kahendarvu kümnendväärtus.

Teisendage kahendarvud kümnendkohtadeks C-s

Järgmine on lihtne kood binaararvude teisendamiseks kümnendkohtadeks C-programmeerimises.



#include

#include

int peamine ( ) {

pikk pikk a ;

printf ( 'Palun sisestage kahendnumber:' ) ;

scanf ( '%lld' , & a ) ;

printf ( '%lld kahendarvuna = %d kümnendkoha kujul' , a , binaryToDecimal ( a ) ) ;

tagasi 0 ; }

int binaryToDecimal ( pikk pikk a ) {

int dets = 0 , b = 0 , r ;

samal ajal ( a != 0 ) {

r = a % 10 ;

a /= 10 ;

dets += r * pow ( 2 , b ) ;

++ b ;

}

tagasi dets ;

}

Ülaltoodud koodis tehakse nimena globaalne funktsioon 'binarytodecimal' . Seejärel deklareerime põhiosas pika pika muutuja as 'a' ja paluge kasutajal lisada kahendnumber ja teisendada see kümnendkohaks, helistades numbrile 'binarytodecimal' funktsioon parameetriga a”. Aastal 'binarytodecimal' funktsiooni definitsioon kümnendarvu teisendus while-tsükli kaudu.

Väljund

Võite kasutada ka sisseehitatud strtol() funktsioon binaararvude teisendamiseks kümnendkohtadeks C-programmeerimises.

Sellise funktsiooni kood on järgmine:

#include

#include

int peamine ( ) {

char binaarne_string [ ] = '1110' ;

char * ptr ;

pikk kümnend_väärtus ;

kümnend_väärtus = kokku jooksnud ( binaarne_string , & ptr , 2 ) ;

printf ( 'Binaarne string' % s ' on võrdne kümnendväärtusega %ld. \n ' , binaarne_string , kümnend_väärtus ) ;

tagasi 0 ;

}

Ülaltoodud kood teisendab binaarstringi '1110' selle ekvivalentseks kümnendväärtuseks, kasutades strtol() funktsioon, mis võtab argumentidena binaarstringi, kursorit tähekursorile ja arvusüsteemi aluse. Lõpuks prindib see tulemuse konsooli kasutades printf().

Väljund

Järeldus

Nagu me teame, tunnevad inimesed kümnendarvusid võrreldes kahendarvuga, kuna neid on raske hallata. Kümnendarvudega on lihtne aritmeetilisi toiminguid teha, kuna need on 10-s ja nende töötlemine on kahendnumbritega võrreldes kiirem, seega teisendatakse kahendarvud kümnendkohtadeks. Ülaltoodud ülevaade on selgitanud binaararvude teisendamist kümnendkohtadeks C-programmiga, millel on kasutaja määratud funktsioonid ja sisseehitatud strtol() funktsiooni.