標題:
十進位轉二進位
[打印本頁]
作者:
王瑞喻
時間:
2020-7-4 15:08
標題:
十進位轉二進位
輸入十進位制的正整數後,自動顯示該數字的二進位制
作者:
鐘彥博
時間:
2020-7-4 16:13
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
int a,b;
re:
system("cls");
cout<<"請輸入一正整數:";
cin>>a;
if(a>0 && a%2==0)
{
b=a*5;
cout<<"該數字的二進位制為:"<<b<<endl;
}else if(a>0 && a%2>0)
{
b=(a-a%2)*5+a%2;
cout<<"該數字的二進位制為:"<<b<<endl;
}else
{
cout<<"!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?!?"<<endl;
}
system("pause");
goto re;
system("pause");
return 0;
}
複製代碼
作者:
may
時間:
2021-8-29 22:58
#include <iostream>
#include <cstdlib>
using namespace std;
int main(){
int n;
re:
cout<<"輸入十進位制的正整數: ";
cin >> n;
cout<<n<<"的二進位制= ";
int b, ten=1, sum=0;
//b:用來存餘數。
//ten:為了讓答案變成倒的,每次乘以10倍。
//sum:用來加總答案。
while(n>0){ //不斷做直到a=1時
b=n%2; //b用來計算餘數
n/=2; //計算餘數之後,就可以把n除以2了!
sum+=b*ten; //把b值乘以10,存進sum答案中。(第一次乘以1)
ten*=10; //因為二進位是從下而上的餘數,所以我們每次乘以10,就會變倒的了!
}
cout << sum << endl;
goto re;
system("pause");
return 0;
}
複製代碼
作者:
may
時間:
2021-8-29 22:59
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int a[10], n, i;
re:
cout<<"輸入十進位制的正整數: ";
cin>>n;
cout<<n<<"的二進位制= ";
for(i=0; n>0; i++)
{
a[i]=n%2;
n= n/2;
}
for(i=i-1 ;i>=0 ;i--)
{
cout<<a[i];
}
cout<<endl;
goto re;
system("pause");
return 0;
}
複製代碼
作者:
洪勻蓁
時間:
2021-8-30 15:57
本帖最後由 洪勻蓁 於 2021-8-30 16:29 編輯
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
int a, x=0;
int b[10];
cout<<"請輸入正整數: ";
cin>>a;
for(int i=0;i<10;i++)
{
if(a!=0)
{
b[i]=a%2;
a=a/2;
x++;
}
}
for(int i=x-1;i>=0;i--)
{
cout<<b[i];
}
system("pause");
return 0;
}
複製代碼
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
re:
int a, b, ten=1, sum=0;
cout<<"請輸入正整數: ";
cin>>a;
cout<<a<<"的二進位為 ";
while(a>0)
{
b=a%2;
a=a/2;
sum+=b*ten;
ten=ten*10;
}
cout<<sum<<endl;
goto re;
system("pause");
return 0;
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/)
Powered by Discuz! 7.2