Kuinka muuntaa desimaali binääriksi C:ssä

Kuinka Muuntaa Desimaali Binaariksi C Ssa



Tietokonejärjestelmät käyttävät usein binäärilukuja edustamaan tietoja ja ohjeita, mutta koska desimaaliluvut ovat yksinkertaisempia ihmisten ymmärtää kuin binääriluvut, muunnos on tarpeen. Tässä artikkelissa käydään läpi ymmärrystä desimaalien välillä binääriksi ja tarjotaan ohjelmaesimerkkejä erilaisista menetelmistä, joilla desimaalit muunnetaan binääriksi ohjelmointikielellä nimeltä C.

Kuinka muuntaa desimaali binääriksi C:ssä?

Annettu desimaaliarvo jaetaan 2:lla useita kertoja, ja jäännösosa tallennetaan, kunnes loppuosamääräksi tulee 0. Tätä prosessia käytetään kokonaislukujen muuntamiseen desimaaleista binäärilukuihin. Kaavan, joka osoittaa muunnosprosessin desimaaliluvusta binäärimuotoon, katsotaan olevan seuraavat vaiheet:







Vaihe 1: Etsi loppuosa jakamalla luku kahdella ja lisää se sitten taulukkoon.



Vaihe 2: Jaa seuraavaksi loput kahdella.



Vaihe 3: Toista kaksi ensimmäistä vaihetta uudelleen, kunnes tulos ylittää 0.





Vaihe 4: Näytä taulukko taaksepäin saadaksesi luvun binäärimuodon. Binääriluvun vähiten merkitsevä bitti (LSB) on yläosassa, kun taas eniten merkitsevä bitti (MSB) on alaosassa, mikä on toinen tapa tulkita tätä. Annetun desimaaliluvun binäärivastine on tämä.

Ymmärtääksesi tämän paremmin, tässä on muunnos 11 10 muuntaminen desimaaliksi binääriksi:



Jako numerolla 2 Osamäärä Loput
11÷2 5 1 (LSB)
5 ÷ 2 2 1
2-2 1 0
1-2 0 1 (MSB)


Kirjoita nyt loppuosa käänteisessä järjestyksessä, eli desimaali (11 10 ) muuttuu (1011 2 ).

Loput merkitään muistiin ja kirjoitetaan sitten niin, että binääriluvun (MSB) tulee ensin, sitten loput. Näin ollen 1011 2 on annetun desimaaliarvon 11 binäärivastine 10 . Tämän seurauksena 11 10 = 1011 2 . Seuraavassa on edellä mainitun desimaalimuunnos binäärimuunnokseksi C-kielellä.

Desimaalien muuntamiseen binääriksi käytetyt menetelmät

Nämä C-kielessä käytetyt menetelmät muuntavat desimaaliluvut binääriluvuiksi:

Toteuta nyt desimaalien muuntaminen binäärisiksi yksitellen edellä mainituilla tavoilla.

Tapa 1: Desimaalista binaariin C-ohjelmointi käyttäen for Loop -ohjelmaa

Alla on desimaaliluvun (11) muuntaminen binääriksi for-silmukan avulla C:ssä:

#include
tyhjä muunnos ( int num1 ) {
jos ( numero1 == 0 ) {
printf ( '0' ) ;
palata ;
}
int binary_num [ 32 ] ; // Olettaen 32 bitti kokonaisluku.
int i = 0 ;
varten ( ;num1 > 0 ; ) {
binäärinen_numero [ i++ ] = numero1 % 2 ;
numero1 / = 2 ;
}
varten ( int j = i- 1 ; j > = 0 ; j-- )
printf ( '%d' , binary_num [ j ] ) ;
}
int main ( ) {
int num1;
printf ( 'Anna desimaaliluku:' ) ;
scanf ( '%d' , & numero1 ) ;
muuntaa ( numero1 ) ;
palata 0 ;
}


Yllä oleva ohjelma käyttää for-silmukkaa muuntaakseen käyttäjän antaman desimaaliluvun binäärilukuksi. Lähtö on:

Tapa 2: Desimaalista binaariin C-ohjelmointissa while-silmukalla

Tässä menetelmässä C:n while-silmukkaa käytetään desimaaliluvun (11) muuntamiseen binäärisiksi, kuten alla on esitetty:

#include
int main ( ) {
int desimaaliluku, binaariluku = 0 , pohja = 1 , loppuosa;
printf ( 'Anna desimaaliluku:' ) ;
scanf ( '%d' , & desimaaliluku ) ;
sillä aikaa ( desimaaliluku > 0 ) {
jäännös = desimaaliluku % 2 ;
binary_num = binary_num + jäännös * pohja;
desimaaliluku = desimaaliluku / 2 ;
pohja = pohja * 10 ;
}
printf ( 'Annetun desimaaliluvun binaari, jossa on while-silmu, on: %d' , binary_num ) ;
palata 0 ;
}


Neljä kokonaislukumuuttujaa desimaaliluku, binääriluku, kantaluku ja jäännös ilmoitetaan ensin tässä ohjelmassa. Käyttäjä syöttää desimaaliluvun, jonka muunnamme sen binäärinumeroksi. Binäärimuunnos suoritetaan while-silmukalla.

Tapa 3: Desimaalista binaariin C-ohjelmoinnissa pinolla

Tämä on yksinkertainen menetelmä pinopohjaisella C-ohjelmalla, joka muuttaa desimaaliarvon binääriksi:

#include

#define MAX_SIZE 32 // binääriesityksen bittien enimmäismäärä
int main ( ) {
int desimaaliluku, binääri [ MAX_SIZE ] , alkuun = -1 ;
printf ( 'Syötä mikä tahansa desimaaliluku:' ) ;
scanf ( '%d' , & desimaaliluku ) ;
sillä aikaa ( desimaaliluku > 0 ) {
binääri [ ++yläosa ] = desimaaliluku % 2 ;
desimaaliluku / = 2 ;
}
printf ( '%d:n binaari pinomenetelmää käyttäen on: ' ) ;
sillä aikaa ( alkuun > = 0 ) {
printf ( '%d' , binääri [ alkuun-- ] ) ;
}
palata 0 ;
}


Ilmoitamme ensin tässä ohjelmassa kolme kokonaislukumuuttujaa top, binary ja decimal_num. Top on pinon korkeimman elementin indeksi, desimaaliluku on käyttäjän syöttämä luku desimaalimuodossa, binääri on taulukko, joka sisältää bitit binäärimuodossa MAX_SIZE-bitteinä ja decimal_num on binääritaulukko. Tämän jälkeen binäärimuunnos suoritetaan käyttämällä while-silmukkaa.

Lähtö on:

Tapa 4: Desimaalista binaariin C-ohjelmointi Bitwise-operaattorilla

Bittikohtaisena toimintona tunnettu operaattori manipuloi kutakin kokonaislukuja edustavien binäärisymbolien bittejä. Seuraava on C-peruskomentosarja, joka käyttää bittikohtaisia ​​operaatioita desimaalilukujen muuntamiseen binääriksi:

#include

// Tämä menetelmä näyttää kaikki 4 luvun bittejä
mitätön muunnos ( int num1 ) {
// Harkitse a 4 -bitin numero
varten ( int i = 3 ; i > = 0 ; minä-- ) {
int bitti = ( 1 << i ) ;
jos ( numero1 & bitti )
printf ( '1' ) ;
muu
printf ( '0' ) ;
}
}
int main ( ) {
int num1;
printf ( 'Anna desimaaliluku:' ) ;
scanf ( '%d' , & numero1 ) ;
muuntaminen ( numero1 ) ;
palata 0 ;
}


Tämä ohjelma suorittaa for-silmukan numeron läpi alkaen merkittävimmästä bitistä ja päättyen vähiten merkitsevään bittiin. Suorittamalla 'bittikohtaisen JA'-operaation maskille ja numerolle, voimme määrittää, onko bitti joko 0 vai 1. Jos se on muu kuin nolla, nykyinen bitti on 1; muuten se on 0.

Jos haluat näyttää num1:n binäärimuodon, tulosta bitti jokaisen iteraation jälkeen. Lopullinen tulos täydellisen suorituksen jälkeen on seuraava:

Johtopäätös

Tietokoneohjelmoinnissa on keskeinen taito muuntaa numeroita desimaaleista binäärilukuihin. Desimaalilukujen muuntaminen binääriksi mahdollistaa erilaisten operaatioiden suorittamisen C-ohjelmoinnissa. Tässä artikkelissa on neljä tapaa muuntaa desimaaliarvot binääriarvoiksi.