Konwersja binarna na dziesiętną w C++

Konwersja Binarna Na Dziesietna W C



W artykule zobaczymy konwersję wartości binarnych na wartości dziesiętne w programie C++. Liczba binarna jest reprezentowana przez cyfry 0 i 1, natomiast wartości dziesiętne zawierają cyfry z zakresu od 0 do 9. Aby dokonać konwersji z postaci binarnej na dziesiętną, wartość binarną należy pomnożyć przez 2 podniesione do potęgi „ n” zaczynając od prawej strony i przesuwając się w lewo z wyższym „n”. Zaimplementujmy to w kodzie, aby przekształcić wartość binarną na wartość dziesiętną.

Przykład 1: Program binarny na dziesiętny przy użyciu pętli „While”.

Mamy następujący program do konwersji liczby z postaci binarnej na dziesiętną. W programie wykorzystujemy pętlę „while” do konwersji danych binarnych na dziesiętne.

#include
#include

za pomocą przestrzeń nazw st ;

wew konwersjaOfBin ( długi długi ) ;

wew główny ( ) {
długi długi na jednego ;
cout << „Wymagana liczba binarna:” ;
jedzenie >> na jednego ;
cout << na jednego << „w formacie binarnym =” << konwersjaOfBin ( na jednego ) << „w systemie dziesiętnym” ;
powrót 0 ;
}

wew konwersjaOfBin ( długi długi na jednego ) {
wew Więc = 0 , X = 0 , reszta ;

chwila ( na jednego ! = 0 ) {
reszta = na jednego % 10 ;
na jednego / = 10 ;
grudzień + = reszta * pow ( 2 , X ) ;
++ X ;
}

powrót Więc ;
}

Tutaj definiujemy plik nagłówkowy „iostream” dla strumieni wejściowych i wyjściowych oraz plik „cmath”, aby wykorzystać funkcję matematyczną w programie. Następnie definiujemy funkcję ConversionOfBin(), do której przekazywany jest parametr typu „long long”. Następnie mamy wywołanie funkcji main() w celu wykonania programu. Wewnątrz funkcji main() deklarujemy długą zmienną typu inter o nazwie „num”.







Następnie funkcja ConversionOfBin() konwertuje wejściową liczbę binarną na liczbę dziesiętną. W tym celu mamy definicję funkcji ConversionOfBin() po kodzie sterownika. Do funkcji ConversionOfBin() przekazywana jest zmienna „num”, która ma liczbę binarną. Następnie wywołujemy pętlę „while”, aby przekształcić liczbę binarną w „num” na wartość dziesiętną. Wcześniej inicjujemy zmienne „deci”, „x” i „reszta” wartością „0”.



W pętli „while” wykonywana jest operacja dzielenia w celu przedstawienia najbardziej wysuniętej na prawo wartości liczby binarnej. Wyniki dzielenia zapisywane są w zmiennej „reszta”. Następnie dodajemy wyniki reszty i wyniki potęgi do zmiennej „deci”. Zmienna „x” stale ocenia moc czynną 2.



Wyniki konwersji określonych liczb binarnych na wartości dziesiętne uzyskuje się w konsoli C++:





Przykład 2: Program binarny na dziesiętny przy użyciu pętli „For”.

Transformację z systemu binarnego na dziesiętny przeprowadzono za pomocą pętli „while”. Możemy jednak również użyć metody pętli „for”, aby przekształcić bity binarne na liczbę dziesiętną.



#include
#include

wew główny ( ) {
st :: strunowy kosz ;
st :: cout << „Wprowadź liczbę binarną:” ;
st :: jedzenie >> kosz ;

wew grudzień = 0 ;
wew podstawaIs = 1 ;

Do ( wew A = kosz. długość ( ) - 1 ; A >= 0 ; A -- ) {
Jeśli ( kosz [ A ] == „1” ) {
grudzień + = podstawaIs ;
}
podstawaIs * = 2 ;
}

st :: cout << „Wyniki w formacie dziesiętnym: „ << grudzień << st :: koniec ;

powrót 0 ;
}

Tutaj zaczynamy od programu funkcyjnego main(), w którym mamy zmienną „std::string”, czyli „bin”, która przechowuje liczbę binarną wprowadzoną przez użytkownika w wierszu zachęty. Początkowo monit poprosi użytkownika o wprowadzenie liczby binarnej za pomocą instrukcji „cout”. Następnie polecenie „cin” odczyta tę liczbę binarną. Następnie inicjujemy zmienną „dec” wartością „0” i zmienną „baseIs” wartością „1”, aby uzyskać dziesiętny odpowiednik.

Następnie wywołujemy pętlę „for”, która wykonuje pętlę po każdej liczbie określonego pliku binarnego od prawej do lewej. Wewnątrz pętli mamy warunek „if” pozwalający sprawdzić, czy liczba binarna wynosi 1. Jeśli wynosi 1, wartość dziesiętna jest dodawana do zmiennej „dec”. Zmienna „baseIs” ma moc 2, którą należy pomnożyć przez 1 w każdej iteracji.

Wartość liczby binarnej i jej konwersja na wartość dziesiętną pokazana jest na ekranie podpowiedzi:

Przykład 3: Program ciągu binarnego na dziesiętny

Wartość ciągu binarnego jest teraz zdefiniowana w celu przekształcenia jej wartości na wartość dziesiętną. Aby przekształcić wartość ciągu binarnego na wartość dziesiętną, wykonano następującą implementację:

#include
#include
za pomocą przestrzeń nazw st ;

wew binToDec ( wartość ciągu )
{
wartość ciągu = wal ;
wew wartość_dziesiętna = 0 ;

wew wartość_podstawowa = 1 ;

wew tylko = wartość. długość ( ) ;
Do ( wew M = tylko - 1 ; M >= 0 ; M -- ) {
Jeśli ( wal [ M ] == „1” )
wartość_dziesiętna + = wartość_podstawowa ;
wartość_podstawowa = wartość_podstawowa * 2 ;
}

powrót wartość_dziesiętna ;
}

wew główny ( )
{
wartość ciągu = „11100101” ;
cout << binToDec ( wal ) << koniec ;
}

Tutaj zaczynamy od utworzenia funkcji BinToDec() służącej do konwersji cyfr binarnych na wartości dziesiętne. Funkcja BinToDec() przyjmuje argument „val” typu string. W ramach funkcji BinToDec() inicjujemy zmienną „value” zmienną „val”, która oznacza, że ​​wartość zmiennej „val” będzie przechowywana w zmiennej „value”. Następnie deklarujemy nową zmienną „wartość_dziesiętna”, której przypisuje się wartość 0.

Podobnie zmienna „base_value” jest ustawiana i inicjowana wartością 1. Następnie definiujemy zmienną „len”, do której wywoływana jest funkcjalength() w celu uzyskania długości liczby binarnej. Po inicjalizacji zmiennej mamy iterację pętli „for”. Pętla „for” iteruje każdą cyfrę liczby binarnej od prawej do lewej.

Następnie mamy funkcję main(), w której liczba binarna jest podawana jako wartość ciągu znaków do zmiennej „val”, która jest konwertowana na wartość dziesiętną, gdy wywołujemy funkcję BinToDec(val) za pomocą polecenia „cout”.

Wartość binarna typu łańcuchowego jest teraz konwertowana na wartość dziesiętną, jak pokazano poniżej:

Przykład 4: Program binarny na dziesiętny przy użyciu klasy Bitset

Dodatkowo możemy zamienić liczbę binarną na liczbę dziesiętną, definiując w programie klasę „bitset” języka C++. Zapewnia funkcje, dzięki którym procedura konwersji jest bardzo prosta.

#include
#include

wew główny ( ) {
st :: strunowy binarny ;
st :: cout << 'Proszę podać liczbę binarną: ' ;
st :: jedzenie >> binarny ;

st :: bitset < 64 > dwójkowy ( binarny ) ;
niepodpisany długi liczba dziesiętna = dwójkowy. za długo ( ) ;

st :: cout << „Liczba dziesiętna:” << liczba dziesiętna << st :: koniec ;

powrót 0 ;
}

Tutaj ustawiamy bibliotekę „bitset” języka C++ w nagłówku, co jest bardzo pomocne podczas pracy z wartościami binarnymi. Następnie mamy definicję funkcji main(), w której używamy „std::string” do zadeklarowania zmiennej „binaryIs”. Zmienna „binaryIs” przechowuje wartość binarną w ciągu znaków. Następnie prosimy użytkownika o dodanie w monicie liczby binarnej i następuje jej odczytanie za pomocą komendy „cin”. Następnie dostosowujemy rozmiar bitów, który może być liczbą całkowitą 64-bitową. Następnie z klasy „bitset” wywoływana jest funkcja to_ulong() do zmiennej „decimalNumber”. Funkcja to_ulong() konwertuje zestaw bitów na typ danych unsigned long. Na koniec używamy polecenia „cout”, aby wydrukować wartość dziesiętną wartości binarnej podanej przez użytkownika.

Wartość binarna podana przez użytkownika jest teraz konwertowana na wartość dziesiętną:

Wniosek

Podsumowując, omówiliśmy metody konwersji wartości binarnej na wartość dziesiętną. Do konwersji binarnej na dziesiętną użyliśmy pętli „for”, pętli „while” i podejścia opartego na klasie bitset. Podejścia te przekształcają liczby binarne w systemy dziesiętne, co ułatwia czytanie i zrozumienie.