Paano I-convert ang mga Binary Number sa mga Decimal sa C

Paano I Convert Ang Mga Binary Number Sa Mga Decimal Sa C



Ang mga binary na numero ay mga kumbinasyon ng 0s at 1s, samantalang ang mga decimal na numero ay base 10 na numero. Sa C programming, iko-convert namin ang mga binary na numero sa mga decimal na numero upang mapabuti ang pagganap ng code at gawing mas madaling maunawaan para sa mga mag-aaral.

Tatalakayin ng patnubay na ito kung paano i-convert ang mga binary na numero sa mga decimal na numero sa C.

Bago tayo pumasok sa mismong konsepto, tingnan natin kung ano ang binary at decimal na mga numero sa C.







Binary at Decimal Number Formats sa C

Ang mga binary na numero ay mga numerong kinakatawan sa anyo ng kumbinasyon ng dalawang digit 0 at 1, at ang mga ito ay tinutukoy bilang base 2 numeral system. Ang mga desimal na numero, sa kabilang banda, ay base 10 na mga numero na binubuo ng mga digit mula 0 hanggang 9.



Tulad ng nakikita mo sa pangalang binary na nangangahulugang dalawa kaya kapag mayroon tayong mga numero sa anyo ng kumbinasyon ng dalawang digit na 0 at 1, tinatawag natin silang mga binary na numero. ito ay tinutukoy bilang ang base 2 numeral system.



Bakit I-convert ang mga Binary Number sa mga Decimal sa C

Ang pagtatrabaho sa mga binary na numero ay mahirap para sa mga developer dahil sa maraming posibleng kumbinasyon ng 0s at 1s. Ang mga desimal na numero, sa kabilang banda, ay mas madaling maunawaan at maproseso, na ginagawa itong mas mabilis at mas mahusay na paraan para sa mga programang C. Ang pag-convert ng mga binary na numero sa mga decimal na numero sa C ay kinabibilangan ng pagpaparami ng lahat ng binary digit sa naaangkop na kapangyarihan ng dalawa at pagdaragdag ng mga resulta, na ginagawa gamit ang mga loop.





Isang Simpleng Algorithm para I-convert ang Binary sa Decimal sa C

Narito ang isang simpleng algorithm upang i-convert ang binary sa decimal sa C gamit ang anim na simpleng hakbang:

  • Kumuha ng binary number bilang input mula sa user.
  • Magsimula ng variable na 'decimal' sa 0 at isang variable na 'base' sa 1.
  • I-extract ang pinakakanang digit ng binary number gamit ang modulus operator (%), at idagdag ang produkto ng digit na ito at ang base sa decimal variable.
  • I-multiply ang base variable sa 2.
  • Alisin ang pinakakanang digit mula sa binary number gamit ang integer division (/).
  • Ulitin ang hakbang 3-5 hanggang sa maproseso ang lahat ng digit.
  • Ipakita ang decimal na halaga ng binary number na nakaimbak sa 'decimal' variable.

I-convert ang Binary Numbers sa Decimals sa C

Ang sumusunod ay isang simpleng code upang i-convert ang mga binary na numero sa mga decimal sa C programming.



#include

#include

int pangunahing ( ) {

mahaba mahaba a ;

printf ( 'Mangyaring maglagay ng binary number: ' ) ;

scanf ( '%lld' , at a ) ;

printf ( '%lld sa binary = %d sa anyo ng decimal' , a , binaryToDecimal ( a ) ) ;

bumalik 0 ; }

int binaryToDecimal ( mahaba mahaba a ) {

int dec = 0 , b = 0 , r ;

habang ( a != 0 ) {

r = a % 10 ;

a /= 10 ;

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

++ b ;

}

bumalik dec ;

}

Sa code sa itaas, isang pandaigdigang function ang ginawa bilang pangalan “binaryToDecimal” . Pagkatapos sa pangunahing, ipinapahayag namin ang isang mahabang mahabang variable bilang 'a' at hilingin sa user na magdagdag ng binary number at i-convert ito sa decimal sa pamamagitan ng pagtawag sa “binaryToDecimal” function na may parameter ng a'. Nasa “binaryToDecimal” kahulugan ng function isang decimal na conversion sa pamamagitan ng while loop.

Output

Maaari ka ring gumamit ng built-in strtol() function upang i-convert ang mga binary na numero sa mga decimal sa C programming.

Ang sumusunod ay ang code para sa naturang function:

#include

#include

int pangunahing ( ) {

char binary_string [ ] = '1110' ;

char * ptr ;

mahaba decimal_value ;

decimal_value = Nag-crash ( binary_string , at ptr , 2 ) ;

printf ( 'Binary string' % s ' ay katumbas ng decimal na halaga %ld. \n ' , binary_string , decimal_value ) ;

bumalik 0 ;

}

Ang code sa itaas ay nagko-convert ng isang binary string “1110” sa katumbas nitong decimal value gamit ang strtol() function, na kumukuha ng binary string, isang pointer sa isang char pointer, at ang base ng sistema ng numero bilang mga argumento. Sa wakas, ini-print nito ang resulta sa console gamit printf().

Output

Konklusyon

Tulad ng alam natin, ang mga tao ay pamilyar sa mga decimal na numero kumpara sa binary dahil mahirap silang pamahalaan. Ang mga desimal na digit ay madaling magsagawa ng mga pagpapatakbo ng aritmetika dahil ang mga ito ay nasa base 10 at ang kanilang pagproseso ay mas mabilis kumpara sa mga binary digit kaya, ang mga binary na numero ay na-convert sa mga decimal. Ipinaliwanag ng pangkalahatang-ideya sa itaas ang conversion ng mga binary na numero sa mga decimal gamit ang C program na may mga function na tinukoy ng user at built-in strtol() function.