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