ホームページ  >  記事  >  バックエンド開発  >  関数を使用しないPHP 10進数から2進数への変換

関数を使用しないPHP 10進数から2進数への変換

王林
王林オリジナル
2019-09-20 17:53:473889ブラウズ

関数を使用しない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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。