作者PuNkChild (脆歐德)
看板C_and_CPP
標題[問題] 十進位轉二進位
時間Sun Mar 22 17:19:39 2009
我寫出來是反過來的
要怎麼樣才可以把它從左到右顯示
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int a,i;
cout<<"請輸入一整數 : ";
cin>>a;
while(i=a)
{
if(a%2==1) cout<<1;
else {cout<<0;}
i=a/2;
a=i;
}
system("PAUSE");
return EXIT_SUCCESS;
}
這是我寫的
想了好久了 囧
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.224.86.161
1F:推 wowtiger:判定大小於 0 後 shift ? 03/22 17:30
2F:推 Steven13:先除以小於該數,最大2的次方..ex: 輸入9 先除8.再取餘數 03/22 17:33
3F:推 Steven13:再來是9/4 取餘數.再來是9/2...9/1... 03/22 17:36
4F:推 chrisdar:unsigned int a = 0, mask = 0x80000000; 03/22 17:50
5F:→ chrisdar:cout << "請輸入一整數 : "; 03/22 17:50
6F:→ chrisdar:cin >> a; 03/22 17:50
7F:→ chrisdar:for (int i = 0;i < 32;++i, mask >>= 1) { 03/22 17:50
8F:→ chrisdar: cout << (0 != (a&mask) ? 1 : 0); 03/22 17:50
9F:→ chrisdar:} 03/22 17:50
10F:→ chrisdar:cout << endl; 03/22 17:50
11F:→ PuNkChild:如果只用我程式的運算式子 還可以怎麼修改 03/22 17:56
12F:推 wowtiger:for( int i=0; i<32; ++i ) { cout << ( a<0 ); a<<=1; } 03/22 18:59
13F:推 chrisdar:XDDD 樓上好狠 用符號位元 XDDD 03/22 20:28