Re: [問題] 十進位轉二進位

看板C_and_CPP (C/C++)作者 (luckyman)時間16年前 (2009/03/22 18:45), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/5 (看更多)
※ 引述《PuNkChild (脆歐德)》之銘言: : 我寫出來是反過來的 : 要怎麼樣才可以把它從左到右顯示 : #include <cstdlib> : #include <iostream> #include <cmath> //include math library : using namespace std; : int main(int argc, char *argv[]) : { : int a,i; int bits=0;//儲存轉成二進位要的bit數 int *digit; //暫存轉換後的陣列 int count=0; : cout<<"請輸入一整數 : "; : cin>>a; //計算bit數 bits = (int)ceil(log2(a)); digit = new int[bits]; : while(i=a) : { : if(a%2==1) {cout<<1; digit[count]=1; } : else {cout<<0; digit[count]=0; } : i=a/2; : a=i; count++; : } count--; //減掉多的一次 //再印出來 for(int i=count;i>=0;i--){ cout << digit[i]; } : system("PAUSE"); : return EXIT_SUCCESS; : } : 這是我寫的 : 想了好久了 囧 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.175.153.148

03/22 20:02, , 1F
直接在while迴圈內cout>>1和cout>>0對調即可
03/22 20:02, 1F
文章代碼(AID): #19nXQkvU (C_and_CPP)
文章代碼(AID): #19nXQkvU (C_and_CPP)