Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php十进制转二进制不用函数

php十进制转二进制不用函数

王林
王林asal
2019-09-20 17:53:473973semak imbas

php十进制转二进制不用函数

输入一个正整数(十进制),输出此整数对应的二进制数(用循环实现,但不用数组,也不用函数调用)。

本篇文章使用的是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视频教程

Atas ialah kandungan terperinci php十进制转二进制不用函数. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn