Kuidas teisendada kümnendsüsteemi C-s binaarseks

Kuidas Teisendada Kumnendsusteemi C S Binaarseks



Arvutisüsteemid kasutavad andmete ja juhiste esitamiseks sageli kahendnumbreid, kuid kuna kümnendnumbrid on inimestele lihtsamini mõistetavad kui kahendarvud, on vaja teisendada. See artikkel käsitleb kümnendkohtade mõistmist kahendarvuks ja pakub programminäiteid erinevatest meetoditest, mis muudavad kümnendkohad kahendarvuks programmeerimiskeeles nimega C.

Kuidas teisendada kümnendsüsteemi C-s binaarseks?

Antud kümnendväärtus jagatakse 2-ga mitu korda, jääk salvestatakse seni, kuni jõuame lõppjagatisena 0-ni. Seda protsessi kasutatakse täisarvude teisendamiseks kümnendarvust kahendarvuks. Valem, mis näitab kümnendarvust kahendarvu teisendamist, loetakse järgmisteks etappideks:







Samm 1: Leidke jääk, jagades arvu 2-ga, seejärel lisage see massiivi.



2. samm: Järgmisena jagage ülejäänud osa kahega.



3. samm: Korrake kaks esimest sammu uuesti, kuni tulemus ületab 0.





4. samm: Arvu kahendvormi saamiseks kuvage massiiv tagurpidi. Kahendarvu kõige vähemtähtsaim bitt (LSB) asub ülaosas, kõige olulisem bitt (MSB) aga allosas, mis on veel üks viis selle tõlgendamiseks. Esitatud kümnendarvu binaarne ekvivalent on see.

Selle paremaks mõistmiseks on siin konversioon  11 10 kümnendsüsteemis binaarseks teisendamine:



Jagage 2-ga Jagatis Ülejäänud
11÷2 5 1 (LSB)
5 ÷ 2 2 1
2-2 1 0
1-2 0 1 (MSB)


Nüüd kirjutage ülejäänud osa vastupidises järjekorras, seega kümnendkohana (11 10 ) muutub (1011 2 ).

Ülejäänud osa märgitakse üles ja seejärel kirjutatakse nii, et kahendarvu (MSB) on esimene, seejärel ülejäänud. Järelikult 1011 2 on antud kümnendväärtuse 11 binaarne ekvivalent 10 . Selle tulemusena 11 10 = 1011 2 . Järgnevalt on ülalmainitud kümnendkoha binaarseks teisenduse rakendamine C-keeles.

Kümnendarvu binaarseks teisendamiseks kasutatavad meetodid

Need C-keeles kasutatavad meetodid teisendavad kümnendkohanumbrid kahendarvuks:

Nüüd rakendage ülalnimetatud lähenemisviiside abil kümnendkohtade teisendamine binaarseteks.

1. meetod: kümnendsüsteemist kahendarvuni C-programmis for Loop abil

Allpool on kümnendkoha (11) teisendamine kahendarvuks for-tsükli abil C-s:

#include
tühine teisendus ( int number1 ) {
kui ( arv1 == 0 ) {
printf ( '0' ) ;
tagasi ;
}
int binaarne_arv [ 32 ] ; // Eeldusel 32 bitt täisarv.
int i = 0 ;
jaoks ( ;number1 > 0 ; ) {
binaarne_arv [ i++ ] = number1 % 2 ;
number1 / = 2 ;
}
jaoks ( int j = i- 1 ; j > = 0 ; j-- )
printf ( '%d' , kahend_arv [ j ] ) ;
}
int main ( ) {
int number1;
printf ( 'Sisestage kümnendnumber:' ) ;
scanf ( '%d' , & number1 ) ;
teisendada ( number1 ) ;
tagasi 0 ;
}


Ülaltoodud programm kasutab for-silmust, et teisendada kasutaja esitatud kümnendarvu binaarseks. Väljund on:

Meetod 2: kümnendsüsteemist kahendarvuni C-programmeerimisel while-tsükliga

Selle meetodi puhul kasutatakse C-i while-tsüklit kümnendkoha (11) teisendamiseks kahendarvuks, nagu allpool näidatud:

#include
int main ( ) {
int kümnend_arv, binaarne_arv = 0 , alus = 1 , jääk;
printf ( 'Sisestage kümnendnumber:' ) ;
scanf ( '%d' , & kümnend_arv ) ;
samas ( kümnend_arv > 0 ) {
jääk = kümnend_arv % 2 ;
binaarne_arv = binaarne_arv + jääk * alus;
kümnend_arv = kümnend_arv / 2 ;
alus = alus * 10 ;
}
printf ( 'Antud kümnendarvu binaar koos while-tsükliga on: %d' , kahend_arv ) ;
tagasi 0 ;
}


Selles programmis deklareeritakse esmalt neli täisarvu muutujat kümnend_arv, binaarne_arv, alus ja jääk. Kasutaja sisestab kümnendarvu_arvu, mille teisendame binaarseks_arvuks. Binaarne teisendamine toimub while-tsükli abil.

3. meetod: kümnendsüsteemist binaarseks C-programmeerimisel virnaga

See on lihtne meetod pinupõhise C-programmiga, mis muudab kümnendväärtuse binaarseks:

#include

#define MAX_SIZE 32 // maksimaalne bittide arv binaarses esituses
int main ( ) {
int kümnend_arv, kahend [ MAX_SIZE ] , ülemine = -1 ;
printf ( 'Palun sisestage mis tahes kümnendnumber: ' ) ;
scanf ( '%d' , & kümnend_arv ) ;
samas ( kümnend_arv > 0 ) {
binaarne [ ++ülemine ] = kümnend_arv % 2 ;
kümnend_arv / = 2 ;
}
printf ( '%d binaar, kasutades virna meetodit, on: ' ) ;
samas ( üleval > = 0 ) {
printf ( '%d' , binaarne [ üleval-- ] ) ;
}
tagasi 0 ;
}


Esmalt deklareerime selles programmis kolm täisarvu muutujat top, binary ja decimal_num. Ülemine on virna kõrgeima elemendi indeks, kümnendarvuks on kümnendkoha number, mille kasutaja sisestab, binaarne on massiiv, mis sisaldab binaarseid bitte MAX_SIZE bittidena ja decimal_num on binaarmassiivi. Pärast seda viiakse binaarne teisendamine läbi while-tsükli abil.

Väljund on:

4. meetod: Bitioperaatoriga C-programmeerimine kümnendsüsteemist binaarseks

Operaator, mida tuntakse bitipõhise operatsioonina, manipuleerib iga täisarve esindavate binaarsete sümbolite bitti. Järgnev on põhiline C-skript, mis kasutab bitipõhiseid toiminguid kümnendkohtades arvu binaarseks tõlkimiseks:

#include

// See meetod näitab kõiki 4 arvu bitte
tühine konversioon ( int number1 ) {
// Kaaluge a 4 - bitinumber
jaoks ( int i = 3 ; i > = 0 ; mina-- ) {
int bit = ( 1 << i ) ;
kui ( number1 & natuke )
printf ( '1' ) ;
muidu
printf ( '0' ) ;
}
}
int main ( ) {
int number1;
printf ( 'Sisestage kümnendnumber:' ) ;
scanf ( '%d' , & number1 ) ;
teisendamine ( number1 ) ;
tagasi 0 ;
}


See programm käivitab for-tsükli läbi numbri, mis algab kõige olulisemast bitist ja lõpeb väikseima tähtsusega bitiga. Tehes maski ja numbriga bitipõhiselt JA-operatsiooni, saame määrata, kas bitt on kas 0 või 1. Kui see ei ole null, on praegune bitt 1; muidu on see 0.

Num1 binaarse kuju kuvamiseks väljastage bitt pärast iga iteratsiooni. Lõplik väljund pärast täielikku täitmist on järgmine:

Järeldus

Arvude kümnendsüsteemist kahendarvuks teisendamine on arvutiprogrammeerimisel hädavajalik oskus. Kümnendarvude teisendamine kahendarvuks võimaldab meil C-programmeerimisel teha erinevaid toiminguid. See artikkel pakub 4 meetodit kümnendväärtuste teisendamiseks kahendväärtusteks.