>  기사  >  백엔드 개발  >  함수 없이 PHP 십진수를 이진수로 변환

함수 없이 PHP 십진수를 이진수로 변환

王林
王林원래의
2019-09-20 17:53:473889검색

함수 없이 PHP 십진수를 이진수로 변환

양의 정수(10진수)를 입력하고 이 정수에 해당하는 이진수를 출력합니다(루프를 사용하여 구현되지만 배열이나 함수 호출은 사용하지 않음).

이 글은 C언어로 작성되었기 때문에 도움이 필요한 학생들이 적절하게 참고할 수 있습니다!

분석: 십진수를 이진수로 변환하는 방법:

유클리드 나눗셈을 사용하여 몫이 0이 될 때까지 나머지 수열을 구합니다. 해당 이진수인 나머지 수열을 역순으로 구합니다. 따라서 나머지 시퀀스는 정수 값을 형성한 다음 정수 값을 역순(낮은 비트에서 높은 비트로 출력)으로 출력합니다. 즉, 이진 코드를 얻습니다.

코드는 다음과 같습니다.

#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 십진수를 이진수로 변환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.