Kaip konvertuoti dešimtainę į dvejetainę C

Kaip Konvertuoti Desimtaine I Dvejetaine C



Kompiuterinėse sistemose duomenims ir instrukcijoms pateikti dažnai naudojami dvejetainiai skaičiai, tačiau kadangi dešimtainius skaitmenis žmonėms suprasti lengviau nei dvejetainius, reikia konvertuoti. Šiame straipsnyje apžvelgsime dešimtainių skaičių supratimą į dvejetainius ir pateiksime įvairių metodų, kurie dešimtaines skaitmenis konvertuoja į dvejetaines, programų pavyzdžius programavimo kalba, vadinama C.

Kaip konvertuoti dešimtainį į dvejetainį C?

Nurodyta dešimtainė reikšmė dalijama iš 2 kelis kartus, o likusioji dalis įrašoma tol, kol gauname 0 kaip galutinį koeficientą. Šis procesas naudojamas sveikiesiems skaičiams konvertuoti iš dešimtainių į dvejetainius. Formulė, rodanti konversijos procesą iš dešimtainės į dvejetainę, yra laikoma tokiais etapais:







1 žingsnis: Raskite likutį padalydami skaičių iš 2, tada pridėkite jį prie masyvo.



2 žingsnis: Tada likusią dalį padalinkite iš dviejų.



3 veiksmas: Pirmus du veiksmus atlikite dar kartą, kol rezultatas viršys 0.





4 veiksmas: Rodykite masyvą atgal, kad gautumėte dvejetainę skaičiaus formą. Dvejetainio skaičiaus mažiausiai reikšmingas bitas (LSB) yra viršuje, o svarbiausias bitas (MSB) yra apačioje, o tai yra dar vienas būdas tai interpretuoti. Pateikto dešimtainio skaičiaus dvejetainis atitikmuo yra šis.

Norėdami tai geriau suprasti, pateikiame 11 konversiją 10 dešimtainis konvertavimas į dvejetainį:



Padalijimas iš 2 Dalinys Priminimas
11÷2 5 1 (LSB)
5 ÷ 2 2 1
2-2 1 0
1-2 0 1 (MSB)


Dabar likusią dalį parašykite atvirkštine tvarka, taigi dešimtainė (11 10 ) tampa (1011 2 ).

Likusioji dalis bus pažymėta ir parašyta taip, kad pirmiausia būtų dvejetainio skaičiaus (MSB), o tada likusi dalis. Todėl 1011 m 2 yra pateiktos dešimtainės reikšmės 11 dvejetainis ekvivalentas 10 . Dėl to 11 10 = 1011 2 . Toliau pateikiamas aukščiau minėtas dešimtainės dalies konvertavimas į dvejetainį C kalba.

Metodai, naudojami konvertuoti dešimtainį į dvejetainį

Šie metodai, naudojami C kalboje, paverčia dešimtainius skaitmenis į dvejetainius:

Dabar atlikite dešimtainių skaičių konvertavimą į dvejetainius po vieną aukščiau minėtais metodais.

1 būdas: nuo dešimtainio iki dvejetainio C programavimo naudojant for Loop

Žemiau pateikiamas dešimtainio skaitmens (11) konvertavimas į dvejetainį skaičių naudojant for-ciklą C:

#include
tuščias konvertavimas ( int num1 ) {
jeigu ( skaičius1 == 0 ) {
printf ( '0' ) ;
grąžinti ;
}
int dvejetainis_num [ 32 ] ; // Darant prielaidą 32 bitų sveikasis skaičius.
tarpt i = 0 ;
dėl ( ;num1 > 0 ; ) {
dvejetainis_skaičius [ i++ ] = skaičius1 % 2 ;
skaičius1 / = 2 ;
}
dėl ( int j = i- 1 ; j > = 0 ; j-- )
printf ( „%d“ , dvejetainis_skaičius [ j ] ) ;
}
tarp pagrindinis ( ) {
int num1;
printf ( 'Įveskite dešimtainį skaičių:' ) ;
scanf ( „%d“ , & skaičius1 ) ;
Paversti ( skaičius1 ) ;
grąžinti 0 ;
}


Aukščiau pateikta programa naudoja for kilpą, kad konvertuotų vartotojo pateiktą dešimtainį skaičių į dvejetainį. Išvestis yra:

2 būdas: nuo dešimtainio iki dvejetainio C programavimo naudojant while Loop

Taikant šį metodą, ciklas C yra naudojamas dešimtainiam skaitmeniui (11) konvertuoti į dvejetainį, kaip parodyta toliau:

#include
tarp pagrindinis ( ) {
int dešimtainis_skaičius, dvejetainis_skaičius = 0 , bazė = 1 , priminimas;
printf ( 'Įveskite dešimtainį skaičių:' ) ;
scanf ( „%d“ , & dešimtainis_skaičius ) ;
kol ( dešimtainis_skaičius > 0 ) {
likutis = dešimtainis_skaičius % 2 ;
dvejetainis_skaičius = dvejetainis_skaičius + likutis * bazė;
dešimtainis_skaičius = dešimtainis_skaičius / 2 ;
bazė = bazė * 10 ;
}
printf ( 'Dvejetainis dešimtainis skaičius su while ciklu yra: %d' , dvejetainis_skaičius ) ;
grąžinti 0 ;
}


Šioje programoje pirmiausia deklaruojami keturi sveikųjų skaičių kintamieji dešimtainis_skaičius, dvejetainis_skaičius, bazė ir liekana. Vartotojas įveda dešimtainį_skaičių, kurį konvertuosime į dvejetainį_skaičių. Dvejetainis konvertavimas atliekamas naudojant while kilpą.

3 būdas: nuo dešimtainės iki dvejetainės C programavimo naudojant krūvą

Tai yra nesudėtingas metodas su stekeliu pagrįsta C programa, kuri dešimtainę reikšmę pakeičia dvejetaine:

#include

#define MAX_SIZE 32 // maksimalus bitų skaičius dvejetainėje atvaizde
tarp pagrindinis ( ) {
int dešimtainis_skaičius, dvejetainis [ MAX_SIZE ] , viršuje = -1 ;
printf ( 'Įveskite bet kurį dešimtainį skaičių: ' ) ;
scanf ( „%d“ , & dešimtainis_skaičius ) ;
kol ( dešimtainis_skaičius > 0 ) {
dvejetainis [ ++viršus ] = dešimtainis_skaičius % 2 ;
dešimtainis_skaičius / = 2 ;
}
printf ( '%d dvejetainis failas naudojant dėklo metodą yra: ' ) ;
kol ( viršuje > = 0 ) {
printf ( „%d“ , dvejetainis [ viršuje-- ] ) ;
}
grąžinti 0 ;
}


Pirmiausia šioje programoje deklaruojame tris sveikųjų skaičių kintamuosius top, binary ir decimal_num. Viršutinė yra didžiausio krūvos elemento indeksas, dešimtainis yra skaičius dešimtaine forma, kurį įveda vartotojas, dvejetainis yra masyvas, kuriame bus dvejetainiai bitai kaip MAX_SIZE bitai, o decimal_num yra dvejetainis masyvas. Po to dvejetainis konvertavimas atliekamas naudojant trumpąją kilpą.

Išvestis yra:

4 metodas: C programavimas nuo dešimtainės iki dvejetainės su bitų operatoriumi

Operatorius, žinomas kaip bitinė operacija, manipuliuoja kiekvienu dvejetainių simbolių bitu, vaizduojančiu sveikuosius skaičius. Toliau pateikiamas pagrindinis C scenarijus, kuris naudoja bitines operacijas, kad išverstų skaičių dešimtainiais į dvejetainius:

#include

// Šis metodas parodys visus 4 skaičiaus bitai
tuščias konvertavimas ( int num1 ) {
// Apsvarstykite a 4 - bitų skaičius
dėl ( int i = 3 ; i > = 0 ; aš-- ) {
int bit = ( 1 << i ) ;
jeigu ( skaičius1 & šiek tiek )
printf ( '1' ) ;
Kitas
printf ( '0' ) ;
}
}
tarp pagrindinis ( ) {
int num1;
printf ( 'Įveskite dešimtainį skaičių:' ) ;
scanf ( „%d“ , & skaičius1 ) ;
konversija ( skaičius1 ) ;
grąžinti 0 ;
}


Ši programa vykdys for kilpą per skaičių, pradedant reikšmingiausiu bitu ir baigiant mažiausio reikšmingumo bitu. Atlikdami „bitų IR“ operaciją su kauke ir skaičiumi, galime nustatyti, ar bitas yra 0 ar 1. Jei jis nėra nulis, esamas bitas yra 1; kitu atveju jis yra 0.

Norėdami parodyti dvejetainę skaičių1 formą, po kiekvienos iteracijos išveskite bitą. Galutinė išvestis po visiško vykdymo bus tokia:

Išvada

Tai yra esminis kompiuterio programavimo įgūdis konvertuoti skaičius iš dešimtainio į dvejetainį. Dešimtainių skaičių pavertimas dvejetainiais leidžia atlikti įvairias C programavimo operacijas. Šiame straipsnyje pateikti 4 būdai, kaip dešimtaines reikšmes konvertuoti į dvejetaines reikšmes.