[問題] cpp十進位轉二進位

看板Programming作者 (阿龍)時間6年前 (2018/08/01 20:17), 編輯推噓0(006)
留言6則, 2人參與, 6年前最新討論串1/1
int main() { int x=5; int n=31 ; int number[n]; while (x>=0){ for ( int i=n;i>=0;i--){ number [i]=x%2; x=x/2; } } for ( int i=n;i>=0;i--){ cout<<number[i]<<endl; } } 寫了一個小程式 目標是把10進位的數字,轉成二進位 但是我這個程式的問題是 會有一堆零不需要的零 請問該怎麼處理? 還有如何上當我的商(X)是0的時候 就不要執行程式呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.167.48.118 ※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1533125860.A.42C.html

08/01 21:17, 6年前 , 1F
if (商為0) { break; }
08/01 21:17, 1F

08/06 22:02, 6年前 , 2F
{ int num = 1000;
08/06 22:02, 2F

08/06 22:03, 6年前 , 3F
auto str = std::bitset<64>(num)
08/06 22:03, 3F

08/06 22:03, 6年前 , 4F
.to_string();
08/06 22:03, 4F

08/06 22:04, 6年前 , 5F
auto pos = str.find_first_of('1');
08/06 22:04, 5F

08/06 22:05, 6年前 , 6F
std::cout << str.substr(pos); }
08/06 22:05, 6F
文章代碼(AID): #1ROQJaGi (Programming)
文章代碼(AID): #1ROQJaGi (Programming)