Drucken die Binärzahl der Zahl in C

Muhammad Husnain 12 Oktober 2023
  1. Binäres Zahlensystem
  2. C-Implementierungen für die Konvertierung
Drucken die Binärzahl der Zahl in C

In diesem trivialen Leitfaden geht es um die Implementierung des Dezimal-zu-Binär-Zahlensystemkonverters mithilfe der Sprache C. Bevor wir uns direkt mit der Implementierung befassen, werden wir zuerst das binäre Zahlensystem rekapitulieren und dann mehrere C-Implementierungen besprechen, um eine Dezimaldarstellung in ein binäres Äquivalent umzuwandeln.

Binäres Zahlensystem

Jedes System, das mit zwei diskreten oder kategorialen Zuständen arbeitet, wird als binäres System bezeichnet. In ähnlicher Weise stellt ein binäres Zahlensystem Zahlen mit nur zwei Symbolen dar: 1 (Eins) und 0 (Null).

Daher wird es auch als Basis-2-System bezeichnet.

Gegenwärtig verwenden die meisten logischen Schaltungsimplementierungen auf Transistorbasis diskrete binäre Zustände. Daher verwenden alle modernen digitalen Computer Binärsysteme, um Daten darzustellen, zu speichern und zu verarbeiten.

Zum Beispiel die Umwandlung von 6 in ein binäres Zahlensystem.

$$ (6)_{10} = (110)_2 $$

Hier ist 6 die Zahl aus dem dezimalen Zahlensystem mit der Basis 10, und die entsprechende Binärzahl ist 110, die im binären Zahlensystem mit der Basis 2 steht. Schauen wir uns den Prozess dieser Konvertierung an.

Prozess der Konvertierung

Schritt 1: Teilen Sie 6 durch 2, um die Antwort zu erhalten. Sie erhalten den Dividenden für den nächsten Schritt, indem Sie den in diesem Schritt erzielten ganzzahligen Quotienten verwenden.

Fahren Sie auf diese Weise fort, bis der Quotient Null erreicht.

Dividende Rest
6/2 = 3 0
3/2 = 1 1
1/2 = 0 1

Schritt 2: Die Binärdatei kann gebildet werden, indem alle Reste in umgekehrter chronologischer Reihenfolge (von unten nach oben) gesammelt werden.

Dabei ist 1 das höchstwertige Bit (MSB) und 0 das niederwertigste Bit (LSB). Daher ist die Binärzahl von 6 110.

C-Implementierungen für die Konvertierung

In der C-Sprache kann es mehrere Möglichkeiten geben, eine Zahl in ein binäres Zahlensystem umzuwandeln. Es kann eine iterative oder eine rekursive Lösung sein.

Es liegt an Ihrer Wahl der Programmierung. In diesem Artikel wird eine rekursive Lösung besprochen, da sie sehr einfach ist.

Lösung 1:

Wenn number > 1:

  1. number auf den Stapel legen
  2. Funktion mit number/2 rekursiv aufrufen
  3. Eine number vom Stapel nehmen, durch zwei teilen und den Rest ausgeben.
#include <stdio.h>

void convertToBinary(unsigned a) {
  /* step 1 */
  if (a > 1) convertToBinary(a / 2);

  /* step 2 */
  printf("%d", a % 2);
}
int main() {
  // Write C code here
  printf("Binary of the number is: ");
  convertToBinary(6);
  printf("\n");

  return 0;
}

Dieses Code-Snippet gibt die folgende Ausgabe frei.

Binary of the number is: 110

Lösung 2:

  1. Prüfen ob number > 0
  2. Wenden Sie den rechten Schiebeoperator um 1 Bit an und rufen Sie die Funktion dann rekursiv auf.
  3. Ausgabe der Bits der number
#include <stdio.h>
void convertToBinary(unsigned n) {
  if (n > 1) convertToBinary(n >> 1);

  printf("%d", n & 1);
}
int main() {
  // Write C code here
  printf("Binary of the number is: ");
  convertToBinary(8);
  printf("\n");

  return 0;
}

Die Ausgabe des angegebenen Code-Snippets ist:

Binary of the number is: 1000
Muhammad Husnain avatar Muhammad Husnain avatar

Husnain is a professional Software Engineer and a researcher who loves to learn, build, write, and teach. Having worked various jobs in the IT industry, he especially enjoys finding ways to express complex ideas in simple ways through his content. In his free time, Husnain unwinds by thinking about tech fiction to solve problems around him.

LinkedIn

Verwandter Artikel - C Binary