Kā konvertēt decimāldaļu uz bināru C

Ka Konvertet Decimaldalu Uz Binaru C



Datorsistēmās bieži tiek izmantoti bināri skaitļi, lai attēlotu datus un instrukcijas, taču, tā kā decimālskaitļi cilvēkiem ir vieglāk saprotami nekā bināri, ir nepieciešama konvertēšana. Šajā rakstā tiks apskatīta izpratne starp decimālskaitļiem bināros un sniegti dažādu metožu programmu piemēri, kas pārvērš decimālskaitļus bināros programmēšanas valodā, ko sauc par C.

Kā konvertēt decimāldaļu uz bināro C valodā?

Dotā decimālvērtība tiek dalīta ar 2 vairākas reizes, un atlikušo daļu ieraksta, līdz iegūstam 0 kā galīgo koeficientu. Šis process tiek izmantots, lai pārvērstu veselus skaitļus no decimālskaitļiem uz bināriem. Formula, kas parāda konvertēšanas procesu no decimālskaitļa uz bināru, tiek uzskatīta par šādiem posmiem:







1. darbība: Atrodiet atlikušo daļu, dalot skaitli ar 2, pēc tam pievienojiet to masīvam.



2. darbība: Tālāk atlikušo daļu sadaliet ar diviem.



3. darbība: Veiciet pirmās divas darbības vēlreiz, līdz rezultāts pārsniedz 0.





4. darbība: Parādiet masīvu atpakaļ, lai iegūtu skaitļa bināro formu. Bināra skaitļa mazākais bits (LSB) atrodas augšpusē, savukārt visnozīmīgākais bits (MSB) atrodas apakšā, kas ir vēl viens veids, kā to interpretēt. Norādītā decimālskaitļa binārais ekvivalents ir šis.

Lai to labāk izprastu, šeit ir 11 reklāmguvums 10 decimālā konvertēšana uz bināru:



Dalījums ar 2 Koeficients Atlikums
11÷2 5 1 (LSB)
5 ÷ 2 2 1
2-2 1 0
1-2 0 1 (MSB)


Tagad ierakstiet atlikušo daļu apgrieztā secībā, tātad decimāldaļu (11 10 ) kļūst par (1011 2 ).

Atlikušais tiks atzīmēts un pēc tam ierakstīts tā, lai vispirms būtu binārā skaitļa (MSB), pēc tam pārējais. Līdz ar to 1011 2 ir dotās decimālvērtības 11 binārais ekvivalents 10 . Rezultātā 11 10 = 1011 2 . Tālāk ir aprakstīta iepriekš minētā decimālskaitļa pārvēršana binārā C valodā.

Metodes, ko izmanto, lai pārvērstu decimāldaļu par bināru

Šīs C valodā izmantotās metodes pārvērš decimālos ciparus bināros:

Tagad ieviesiet decimālskaitļu pārvēršanu bināros pa vienam, izmantojot iepriekš minētās metodes.

1. metode: no decimāldaļas līdz binārajai C programmēšanai ar for Loop

Tālāk ir parādīta decimālskaitļa (11) pārvēršana binārā ar for-cilpas palīdzību C:

#include
tukšs konvertēt ( int num1 ) {
ja ( num1 == 0 ) {
printf ( '0' ) ;
atgriezties ;
}
int binārais_numurs [ 32 ] ; // Pieņemot 32 bitu vesels skaitlis.
starpt i = 0 ;
priekš ( ;num1 > 0 ; ) {
binārais_numurs [ i++ ] = num1 % 2 ;
num1 / = 2 ;
}
priekš ( int j = i- 1 ; j > = 0 ; j-- )
printf ( '%d' , binārais_numurs [ j ] ) ;
}
int galvenais ( ) {
int num1;
printf ( 'Ievadiet decimālskaitli:' ) ;
scanf ( '%d' , & num1 ) ;
konvertēt ( num1 ) ;
atgriezties 0 ;
}


Iepriekš minētā programma izmanto for cilpu, lai pārveidotu lietotāja sniegto decimālo skaitli binārā. Izvade ir:

2. metode: no decimāldaļas līdz binārajai C programmēšanai ar while cilpu

Izmantojot šo metodi, kamēr cilpa C tiek izmantota, lai decimālciparu (11) pārvērstu binārā, kā parādīts tālāk:

#include
int galvenais ( ) {
int decimal_num, binary_num = 0 , bāze = 1 , atlikums;
printf ( 'Ievadiet decimālskaitli:' ) ;
scanf ( '%d' , & decimālskaitlis ) ;
kamēr ( decimālskaitlis > 0 ) {
atlikums = decimal_num % 2 ;
binārais_skaitlis = binārais_skaitlis + atlikums * bāze;
decimālskaitlis = decimālais_skaitlis / 2 ;
bāze = bāze * 10 ;
}
printf ( 'Dotā decimālskaitļa binārais skaitlis ar while cilpu ir: %d' , binārais_numurs ) ;
atgriezties 0 ;
}


Šajā programmā vispirms tiek deklarēti četri veseli mainīgie decimal_num, binary_num, base un atlikumi. Lietotājs ievada decimal_num, ko mēs konvertēsim uz tā bināro_numum. Binārā konvertēšana tiek veikta, izmantojot while cilpu.

3. metode: no decimāldaļas līdz binārajai C programmēšanai ar steku

Šī ir vienkārša metode ar uz steku balstītu C programmu, kas decimālo vērtību maina uz bināru:

#include

#define MAX_SIZE 32 // maksimālais bitu skaits binārajā attēlojumā
int galvenais ( ) {
int decimal_num, binārs [ MAX_SIZE ] , augšā = -1 ;
printf ( 'Lūdzu, ievadiet jebkuru decimālskaitli:' ) ;
scanf ( '%d' , & decimālskaitlis ) ;
kamēr ( decimālskaitlis > 0 ) {
binārs [ ++augšā ] = decimālskaitlis % 2 ;
decimālskaitlis / = 2 ;
}
printf ( '%d binārais fails, izmantojot steka metodi, ir: ' ) ;
kamēr ( tops > = 0 ) {
printf ( '%d' , binārs [ tops-- ] ) ;
}
atgriezties 0 ;
}


Vispirms šajā programmā deklarējam trīs veselus skaitļu mainīgos top, binary un decimal_num. Augšējais ir steka augstākā elementa rādītājs, decimālskaitlis ir skaitlis decimālā formā, ko ievada lietotājs, binārais ir masīvs, kurā binārais biti būs MAX_SIZE bitu formā, un decimal_num ir binārais masīvs. Pēc tam binārā konvertēšana tiek veikta, izmantojot kamēr cilpu.

Izvade ir:

4. metode: no decimāldaļas līdz binārajai C programmēšanai ar bitu operatoru

Operators, kas pazīstams kā bitu operācija, manipulē ar katru no bināro simbolu bitiem, kas apzīmē veselus skaitļus. Šis ir pamata C skripts, kas izmanto bitu darbības, lai skaitļus decimāldaļās pārvērstu bināros:

#include

// Šī metode parādīs visu 4 skaitļa biti
nederīga konversija ( int num1 ) {
// Apsveriet a 4 - bitu numurs
priekš ( int i = 3 ; i > = 0 ; es-- ) {
int bit = ( 1 << i ) ;
ja ( num1 & mazliet )
printf ( '1' ) ;
cits
printf ( '0' ) ;
}
}
int galvenais ( ) {
int num1;
printf ( 'Ievadiet decimālskaitli:' ) ;
scanf ( '%d' , & num1 ) ;
konversiju ( num1 ) ;
atgriezties 0 ;
}


Šī programma izpildīs for cilpu, izmantojot skaitli, kas sākas ar visnozīmīgāko bitu un beidzas ar mazāko nozīmi. Veicot 'bitu UN' operāciju maskai un skaitlim, mēs varam noteikt, vai bits ir 0 vai 1. Ja tas nav nulle, pašreizējais bits ir 1; pretējā gadījumā tas ir 0.

Lai parādītu num1 bināro formu, izvadiet bitu pēc katras iterācijas. Galīgais rezultāts pēc pilnīgas izpildes būs šāds:

Secinājums

Tā ir būtiska prasme datorprogrammēšanā, lai pārvērstu skaitļus no decimāldaļas uz bināriem. Decimālskaitļu pārveidošana bināros ļauj mums veikt dažādas darbības C programmēšanā. Šajā rakstā ir sniegtas 4 metodes decimāldaļu vērtību konvertēšanai binārās vērtībās.