首頁 >後端開發 >php教程 >php十進制轉二進位不用函數

php十進制轉二進位不用函數

王林
王林原創
2019-09-20 17:53:474036瀏覽

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影片教學

#

以上是php十進制轉二進位不用函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn