Jak przekształcić liczby binarne na dziesiętne w C

Jak przekształcić liczby binarne na dziesiętne w C
Liczby binarne to kombinacje 0 i 1s, podczas gdy liczby dziesiętne są podstawowymi liczbami. W programowaniu C konwertujemy liczby binarne na liczby dziesiętne, aby poprawić wydajność kodu i ułatwić zrozumienie uczniów.

Niniejsze wytyczne omówią, jak przekształcić liczby binarne na liczby dziesiętne w C.

Zanim przejdziemy do samej koncepcji, zobaczmy liczby binarne i dziesiętne w C.

Formaty liczb binarnych i dziesiętnych w C

Liczby binarne są liczbami reprezentowanymi w postaci kombinacji dwóch cyfr 0 i 1 i są one określane jako system liczbowy bazowy 2. Z drugiej strony liczby dziesiętne to liczby podstawowe, które składają się z cyfr od 0 do 9.

Jak widać według nazwy binarnej, co oznacza dwa, więc gdy mamy liczby w postaci kombinacji dwóch cyfr 0 i 1, nazywamy je liczbami binarnymi. Jest nazywany systemem liczbowym podstawowym 2.

Po co przekształcić liczby binarne na dziesiętne w C

Praca z liczbami binarnymi jest trudna dla programistów ze względu na wiele możliwych kombinacji 0 i 1. Z drugiej strony liczby dziesiętne są łatwiejsze do zrozumienia i przetworzenia, co czyni je szybszą i wydajniejszą metodą dla programów C. Konwersja liczb binarnych na liczby dziesiętne w C obejmuje pomnożenie wszystkich cyfr binarnych przez odpowiednią moc dwóch i dodawanie wyników, które odbywają się za pomocą pętli.

Prosty algorytm do konwertowania binarnego na dziesiętne w C

Oto prosty algorytm do konwertowania binarnego na dziesiętne w C przy użyciu sześciu prostych kroków:

  • Weź numer binarny jako dane wejściowe od użytkownika.
  • Zainicjuj zmienną „dziesiętne” do 0 i zmienną „podstawę” do 1.
  • Wyodrębnij prawą cyfrę liczby binarnej za pomocą operatora modułu (%) i dodaj iloczyn tej cyfry i podstawę do zmiennej dziesiętnej.
  • Pomnóż zmienną podstawową przez 2.
  • Usuń prawą cyfrę z liczby binarnej za pomocą podziału liczb całkowitych (/).
  • Powtarzaj kroki 3-5, aż wszystkie cyfry zostaną przetworzone.
  • Wyświetl wartość dziesiętną liczby binarnej przechowywanej w zmiennej „dziesiętnej”.

Konwertuj liczby binarne na dziesiętne w C

Poniżej znajduje się prosty kod do konwersji liczb binarnych na dziesiętne w programowaniu C.

#włączać
#włączać
int main ()
Długie a;
printf („Włóż numer binarny:”);
Scanf („%lld” i a);
printf („ %lld in binary = %d w postaci dziesiętnej”, a, binarytodecimal (a));
return 0;
int binarytodecimal (długi długi a)
int dec = 0, b = 0, r;
podczas!= 0)
r = A % 10;
A /= 10;
dec += r * pow (2, b);
++B;

powrót DEC;

W powyższym kodzie funkcja globalna jest tworzona jako nazwa „Binarytodecimal”. Następnie w głównym deklarujemy długą zmienną jako "A" i poproś użytkownika o dodanie numeru binarnego i przekonwertowanie go na dziesiętne, dzwoniąc „Binarytodecimal” funkcja z parametrem a ”. w „Binarytodecimal” Definicja funkcji Konwersja dziesiętna przez pętlę While.

Wyjście

Możesz także użyć wbudowanego strtol () funkcja do konwersji liczb binarnych na dziesiętne w programowaniu C.

Poniżej znajduje się kod takiej funkcji:

#włączać
#włączać
int main ()
char binary_string [] = "1110";
char *ptr;
długą decimal_value;
decimal_value = strTol (binary_string i ptr, 2);
printf („ciąg binarny” %s ”jest równy wartości dziesiętnej %LD.\ n ", binary_string, decimal_value);
powrót 0;

Powyższy kod konwertuje ciąg binarny „1110” do równoważnej wartości dziesiętnej za pomocą strtol () Funkcja, która przenosi ciąg binarny, wskaźnik do wskaźnika char i podstawę systemu liczbowego jako argumenty. Wreszcie, drukuje wynik do konsoli za pomocą printf ().

Wyjście

Wniosek

Jak wiemy, ludzie znają liczby dziesiętne w porównaniu do binarnych, ponieważ są trudne do zarządzania. Cyfry dziesiętne są łatwe do wykonywania operacji arytmetycznych, ponieważ są w bazie 10, a ich przetwarzanie jest szybsze w porównaniu z cyframi binarnymi, stąd liczby binarne są przekształcane w dziesiętne. Powyższy przegląd wyjaśnił konwersję liczb binarnych na dziesiętne z programem C z funkcjami zdefiniowanymi przez użytkownika i wbudowanymi strtol () funkcjonować.