台灣最大程式設計社群網站
線上人數
1931
 
會員總數:241132
討論主題:186802
歡迎您免費加入會員
討論區列表 >> C/C++ >> 十進位轉二進位程式碼問題
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
十進位轉二進位程式碼問題
價值 : 100 QP  點閱數:138 回應數:3

樓主

skdzz
門外漢
0 1
25 1
發送站內信

各位大大好,老師出了一份十進位轉二進位的作業,小妹我寫完後卻一直沒辦法正確的轉出答案想請問各位大大我的程式碼哪裡錯了
int Binary[64],i=0;
double input;
printf("請輸入一十進位數:");
scanf_s("%d",&input);

while (input>0)
{
Binary[i]=((int)input)%2;
input=(int)input/2;
i++;
}
//讓二進位數字反轉
while (i>=0)
{
printf("%d",Binary[i-1]);
i--;
}


system("pause");
return 0;

此程式碼出來的結果只要輸入十進位數字,就會跑出亂數(非1、0之數字)以及負號


搜尋相關Tags的文章: [ 十進位 ] , [ 二進位 ] , [ C++ ] ,
本篇文章發表於2017-10-14 17:43
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

小魚
檢舉此回應
1. scanf_s 抓到的數值怪怪的,你可能要先學一下逐步執行(F10),他有時會抓到我們不想要的事件,這部分我沒研究,我習慣用cin跟cout不會有這種問題
2. while (i>=0) 可能要改成i>0,會跑出奇怪的數字是因為你i=0觸發了事件
本篇文章回覆於2017-10-15 02:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

skdzz
檢舉此回應
感謝1樓魚大,改了之後程式碼就可以執行了,作業也如期繳交了(跪)
本篇文章回覆於2017-10-15 15:17
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

Micky Yang
檢舉此回應
小魚回答過很多問題
本篇文章回覆於2017-10-27 21:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.