輸入一個正整數(十進位制),輸出此整數對應的二進位制數(用迴圈實現,但不用陣列,也不用函數呼叫)。
本篇文章使用的是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其它相關文章!