ホームページ >バックエンド開発 >PHPチュートリアル >関数を使用しないPHP 10進数から2進数への変換
正の整数 (10 進数) を入力し、この整数に対応する 2 進数を出力します (ループで実装されますが、配列や関数の呼び出しは行われません)。
この記事は C 言語で書かれているので、必要な学生は適宜参照してください。
分析: 10 進数を 2 進数に変換する方法:
ユークリッド除算を使用して、商が 0 になるまで剰余を順番に計算し、剰余シーケンスを逆の順序で取得します。は対応する 2 進数であり、配列の代わりにループを使用するため、最初に取得した剰余シーケンスに従って整数値が形成され、その後、整数値が逆の順序で出力されます (下位ビットから上位ビットへ出力)。 、つまりバイナリコードが取得されます。
コードは次のとおりです:
#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; }
この記事は参照のみを目的としています。
推奨チュートリアル: PHP ビデオ チュートリアル
以上が関数を使用しないPHP 10進数から2進数への変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。