Heim > Artikel > Backend-Entwicklung > PHP-Dezimal-Binär-Konvertierung ohne Funktion
Geben Sie eine positive Ganzzahl (Dezimalzahl) ein und geben Sie die dieser Ganzzahl entsprechende Binärzahl aus (implementiert mit einer Schleife, aber ohne Array oder Funktionsaufruf).
Dieser Artikel ist in C-Sprache verfasst. Schüler in Not können sich entsprechend darauf beziehen!
Analyse: So konvertieren Sie Dezimalzahlen in Binärzahlen:
Verwenden Sie die euklidische Division, um den Rest nacheinander zu bilden, bis der Quotient 0 ist. Die umgekehrte Reihenfolge der erhaltenen Reste ist Die entsprechende Binärzahl wird mithilfe einer Schleife anstelle eines Arrays berechnet. Daher wird ein ganzzahliger Wert gemäß der zuerst erhaltenen Restfolge gebildet und dann wird der ganzzahlige Wert in umgekehrter Reihenfolge ausgegeben (Ausgabe vom unteren Bit zum hohen Bit). Das heißt, der Binärcode wird erhalten.
Der Code lautet wie folgt:
#include <iostream> using namespace std; int main() { int n; //待转换的十进制正整数 int m; //存每次转换得到的余数 int sum=0; //进制转换逆序值 int count=0; //记录二进制位数 int i; cout<<"请输入待转换的十进制正整数:"; cin>>n; while(n<0) { cout<<"请重新输入待转换的十进制正整数:"; cin>>n; } cout<<endl; cout<<"十进制"<<n<<"的二进制形式为:"; if(n==0) {cout<<n<<endl; return 0; } while(n!=0) //辗转相除取余到商为0 { m=n%2; //获取对应此次的余数 count++; //二进制位数增1 sum=sum*10+m; //余数按先得到顺序组成一个整数,最后反序就是2进制数 n=n/2; } for(i=count;i>0;i--) //循环从低位到高位逆序输出sum各个位上的数 { cout<<sum%10; sum=sum/10; } cout<<endl; return 0; }
Dieser Artikel dient nur als Referenz!
Empfohlenes Tutorial: PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonPHP-Dezimal-Binär-Konvertierung ohne Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!