返回列表 發帖
  1. #include <iostream>
  2. #include <cstdlib>
  3. using namespace std;

  4. int main(){
  5.   int n;
  6.   re:
  7.   cout<<"輸入十進位制的正整數: ";  
  8.   cin >> n;
  9.   cout<<n<<"的二進位制= ";   
  10.   int b, ten=1, sum=0;
  11.   //b:用來存餘數。
  12.   //ten:為了讓答案變成倒的,每次乘以10倍。
  13.   //sum:用來加總答案。

  14.   while(n>0){ //不斷做直到a=1時
  15.     b=n%2; //b用來計算餘數
  16.     n/=2; //計算餘數之後,就可以把n除以2了!
  17.     sum+=b*ten; //把b值乘以10,存進sum答案中。(第一次乘以1)
  18.     ten*=10; //因為二進位是從下而上的餘數,所以我們每次乘以10,就會變倒的了!
  19.   }

  20.   cout << sum << endl;
  21.   goto re;
  22.   system("pause");
  23.   return 0;
  24. }
複製代碼
May

TOP

  1. #include <iostream>  
  2. #include <cstdlib>  
  3. using namespace std;  
  4. int main()  
  5. {  
  6.     int a[10], n, i;   
  7.     re:
  8.     cout<<"輸入十進位制的正整數: ";                                   
  9.     cin>>n;
  10.     cout<<n<<"的二進位制= ";   
  11.     for(i=0; n>0; i++)   
  12.     {   
  13.         a[i]=n%2;   
  14.         n= n/2;  
  15.     }
  16.     for(i=i-1 ;i>=0 ;i--)   
  17.     {   
  18.         cout<<a[i];
  19.     }
  20.     cout<<endl;   
  21.     goto re;
  22.     system("pause");
  23.     return 0;
  24. }
複製代碼
May

TOP

返回列表