Jak przekonwertować dziesiętny na binarny w C

Jak Przekonwertowac Dziesietny Na Binarny W C



Systemy komputerowe często wykorzystują liczby binarne do przedstawiania danych i instrukcji, ale ponieważ cyfry dziesiętne są łatwiejsze do zrozumienia dla ludzi niż binarne, dlatego wymagana jest konwersja. W tym artykule omówimy zrozumienie między ułamkami dziesiętnymi na dwójkowe i przedstawimy przykłady programów różnych metod, które konwertują ułamki dziesiętne na dwójkowe w języku programowania zwanym C.

Jak przekonwertować dziesiętny na binarny w C?

Podana wartość dziesiętna jest dzielona przez 2 kilka razy, a reszta jest zapisywana, aż osiągniemy 0 jako końcowy iloraz. Ten proces służy do konwersji liczb całkowitych z dziesiętnych na binarne. Formuła przedstawiająca proces konwersji z dziesiętnego na binarny jest uważana za etapy, które są następujące:







Krok 1: Znajdź resztę, dzieląc liczbę przez 2, a następnie dodaj ją do tablicy.



Krok 2: Następnie podziel resztę przez dwa.



Krok 3: Wykonaj ponownie dwa pierwsze kroki, aż wynik przekroczy 0.





Krok 4: Wyświetl tablicę od tyłu, aby uzyskać postać binarną liczby. Najmniej znaczący bit (LSB) liczby binarnej znajduje się na górze, podczas gdy najbardziej znaczący bit (MSB) znajduje się na dole, co jest innym sposobem interpretacji. Binarny odpowiednik podanej liczby dziesiętnej to ten.

Aby lepiej to zrozumieć, oto konwersja 11 10 w konwersji dziesiętnej na binarną:



Dzielenie przez 2 Iloraz Reszta
11÷2 5 1 (LSB)
5 ÷ 2 2 1
2-2 1 0
1-2 0 1 (MSB)


Teraz napisz resztę w odwrotnej kolejności, a więc dziesiętnie (11 10 ) staje się (1011 2 ).

Reszta zostanie odnotowana, a następnie zapisana, tak aby (MSB) liczby binarnej było pierwsze, a potem reszta. W związku z tym 1011 2 jest binarnym odpowiednikiem podanej wartości dziesiętnej 11 10 . W efekcie 11 10 = 1011 2 . Poniżej przedstawiono implementację wspomnianej wyżej konwersji dziesiętnej na binarną w języku C.

Metody używane do konwersji dziesiętnej na binarną

Te metody używane w języku C konwertują cyfry dziesiętne na binarne:

Teraz zaimplementuj konwersję liczb dziesiętnych na binarne o jeden za pomocą wyżej wymienionych podejść.

Metoda 1: Dziesiętny na binarny w programowaniu C z pętlą for

Poniżej znajduje się konwersja cyfry dziesiętnej (11) na binarną za pomocą pętli for w C:

#include
unieważnić konwersję ( int num1 ) {
Jeśli ( liczba1 == 0 ) {
drukujf ( „0” ) ;
powrót ;
}
int numer_binarny [ 32 ] ; // Zarozumiały 32 bitowa liczba całkowita.
int I = 0 ;
Do ( ;num1 > 0 ; ) {
numer_binarny [ i++ ] = liczba1 % 2 ;
numer1 / = 2 ;
}
Do ( int j = i- 1 ; J > = 0 ; J-- )
drukujf ( '%D' , numer_binarny [ J ] ) ;
}
int główny ( ) {
int liczba1;
drukujf ( 'Wprowadź liczbę dziesiętną: ' ) ;
skanf ( '%D' , & numer1 ) ;
konwertować ( numer1 ) ;
powrót 0 ;
}


Powyższy program używa pętli for do konwersji liczby dziesiętnej podanej przez użytkownika na binarną. Dane wyjściowe to:

Metoda 2: Dziesiętny na binarny w programowaniu C z pętlą while

W tej metodzie pętla while w C służy do konwersji cyfry dziesiętnej (11) na binarną, jak pokazano poniżej:

#include
int główny ( ) {
int liczba_dziesiętna, liczba_binarna = 0 , podstawa = 1 , reszta;
drukujf ( 'Wprowadź liczbę dziesiętną: ' ) ;
skanf ( '%D' , & liczba_dziesiętna ) ;
chwila ( liczba_dziesiętna > 0 ) {
reszta = liczba_dziesiętna % 2 ;
liczba_binarna = liczba_binarna + reszta * baza;
liczba_dziesiętna = liczba_dziesiętna / 2 ;
podstawa = podstawa * 10 ;
}
drukujf ( „Dwójka podanej liczby dziesiętnej z pętlą while to: %d” , numer_binarny ) ;
powrót 0 ;
}


W tym programie najpierw deklarowane są cztery zmienne całkowite numer_decimal, numer_binarny, podstawa i reszta. Użytkownik wprowadza numer_dziesiętny, który przekonwertujemy na jego numer_binarny. Konwersja binarna odbywa się za pomocą pętli while.

Metoda 3: Dziesiętny na binarny w programowaniu C ze stosem

Jest to prosta metoda z programem C opartym na stosie, który zmienia wartość dziesiętną na binarną:

#include

#define MAX_SIZE 32 // maksymalna liczba bitów w reprezentacji binarnej
int główny ( ) {
int liczba_dziesiętna, binarny [ NAJWIĘKSZY ROZMIAR ] , góra = -1 ;
drukujf ( 'Proszę podać dowolną liczbę dziesiętną: ' ) ;
skanf ( '%D' , & liczba_dziesiętna ) ;
chwila ( liczba_dziesiętna > 0 ) {
dwójkowy [ ++góra ] = liczba_dziesiętna % 2 ;
liczba_dziesiętna / = 2 ;
}
drukujf ( „Binarny %d przy użyciu metody stosu to:” ) ;
chwila ( szczyt > = 0 ) {
drukujf ( '%D' , binarny [ szczyt-- ] ) ;
}
powrót 0 ;
}


Najpierw deklarujemy w tym programie trzy zmienne całkowite top, binary i decimal_num. Top to indeks najwyższego elementu w stosie, decimal to liczba w postaci dziesiętnej wprowadzona przez użytkownika, binary to tablica, która będzie zawierać bity binarne jako MAX_SIZE bitów, a decimal_num to tablica binarna. Następnie konwersja binarna jest przeprowadzana za pomocą pętli while.

Dane wyjściowe to:

Metoda 4: Dziesiętny na binarny w programowaniu C z operatorem bitowym

Operator znany jako operacja bitowa manipuluje każdym z bitów symboli binarnych reprezentujących liczby całkowite. Poniżej znajduje się podstawowy skrypt C, który używa operacji bitowych do tłumaczenia liczby dziesiętnej na binarną:

#include

// Ta metoda pokaże wszystkie 4 bity liczby
nieważna konwersja ( int num1 ) {
// Rozważ a 4 -bitowa liczba
Do ( int i = 3 ; I > = 0 ; I-- ) {
int bit = ( 1 << I ) ;
Jeśli ( numer1 & fragment )
drukujf ( „1” ) ;
w przeciwnym razie
drukujf ( „0” ) ;
}
}
int główny ( ) {
int liczba1;
drukujf ( 'Wprowadź liczbę dziesiętną: ' ) ;
skanf ( '%D' , & numer1 ) ;
konwersja ( numer1 ) ;
powrót 0 ;
}


Ten program wykona pętlę for przez liczbę, zaczynając od najbardziej znaczącego bitu i kończąc na bicie o najmniejszym znaczeniu. Wykonując operację „bitowego AND” na masce i numerze, możemy określić, czy bit ma wartość 0, czy 1. Jeśli jest różny od zera, obecny bit ma wartość 1; w przeciwnym razie jest to 0.

Aby wyświetlić postać binarną liczby num1, wysyłaj bit po każdej iteracji. Końcowe wyjście po całkowitym wykonaniu będzie jak poniżej:

Wniosek

Podstawową umiejętnością w programowaniu komputerowym jest konwersja liczb z dziesiętnego na dwójkowy. Przekształcanie liczb dziesiętnych na binarne umożliwia nam wykonywanie różnych operacji w programowaniu w C. W tym artykule podano 4 metody konwersji wartości dziesiętnych na wartości binarne.