So konvertieren Sie eine Dezimalzahl in eine Binärzahl: Teilen Sie die Dezimalzahl weiter durch 2, bis der Quotient Null ist, und schreiben Sie dann den Rest von unten nach oben mit dem Konvertierungscode „int main(void){int n,len;int a[; 20];scanf("%d",&n);while(n/2){a[len++]=n%2;n=n/2;}a[len++]=n%2;for(i=len -1;i>=0;i--){printf("%d",a[i]);}}".
Die Betriebsumgebung dieses Tutorials: Windows 7-System, c99-Version, Dell G3-Computer.
Konvertierung von Dezimalzahlen in binäre C-Sprachen
In der C-Sprache ist die Konvertierung von Dezimalzahlen in andere Basen komplizierter.
Die dezimale Ganzzahl wird mit der Methode „Durch N dividieren, Rest bilden und in umgekehrter Reihenfolge anordnen“ in eine N-Basis-Ganzzahl umgewandelt. Die spezifische Methode ist:
Verwenden Sie N als Divisor, dividieren Sie die dezimale Ganzzahl durch N, Sie können einen Quotienten und einen Rest erhalten;
Behalten Sie den Rest bei, dividieren Sie weiter durch N mit dem Quotienten und erhalten Sie a neuer Quotient und Rest;
Behalten Sie den Rest bei, teilen Sie ihn weiter durch N und Sie erhalten einen neuen Quotienten und Rest;
...
jedes Mal und dividiere mit dem Quotienten N, bis der Quotient 0 ist.
Nehmen Sie den zuerst erhaltenen Rest als niederwertige Ziffer der N-Basis-Zahl und den später erhaltenen Rest als höherwertige Ziffer der N-Basis-Zahl. Ordnen Sie sie an, um die N-Basis-Zahl zu erhalten Nummer.
Und Wenn Sie eine Dezimalzahl in eine Binärzahl umwandeln möchten, müssen Sie das Prinzip „Durch 2 dividieren, den Rest bilden und in umgekehrter Reihenfolge anordnen“ anwenden:
Dividieren Sie die Zahl kontinuierlich durch 2, bis der Quotient entsteht ist Null, und schreiben Sie dann den Rest von unten nach oben. Sie können die binäre Darstellung der Zahl erhalten.
Die folgende Abbildung zeigt den Prozess der Konvertierung der Dezimalzahl 42 in Binärzahl:
Aus der Abbildung ist das Ergebnis der Konvertierung der Dezimalzahl 42 in Binärzahl 101010.
Implementierungscode:
#include <stdio.h> int main(void) { int n,length; //length用来装二进制数的个数 int a[20]; //定义一个数组来装余2得到的余数 scanf("%d",&n); //输入十进制的数字 while(n/2){ //当n=1时,n/2=0,此时while(0)不执行while中的语句,直接执行下面的语句 a[length++] = n%2; //将除2得到的余数装入数组中 n = n/2; //除二 } a[length++] = n%2; //存储最后一个余数 //将余数从下往上输出 for(int i = length-1;i>=0;i--) printf("%d",a[i]); }
Verwandte Empfehlungen: „C Video Tutorial“
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie Dezimalzahlen in Binärzahlen in C-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!