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

2020-07-16 10:05:45

輸入一個正整數(十進位制),輸出此整數對應的二進位制數(用迴圈實現,但不用陣列,也不用函數呼叫)。

本篇文章使用的是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十進位制轉二進位制不用函數的詳細內容,更多請關注TW511.COM其它相關文章!