請選擇 進入手機版 | 繼續訪問電腦版

微剋多資訊

 找回密碼
 註冊

Login

搜索
hj23075114 該會員已被刪除
發表於 2010-11-20 21:05 | 顯示全部樓層 |閱讀模式
提示: 作者被禁止或刪除 內容自動屏蔽

簽到天數: 28

該用戶今日未簽到

發表於 2010-11-20 22:05 | 顯示全部樓層
回覆 1# hj23075114 的文章

10進位換2進位

要用C應該就是用sum吧

使用道具

hj23075114 該會員已被刪除
 樓主| 發表於 2010-11-25 23:41 | 顯示全部樓層
提示: 作者被禁止或刪除 內容自動屏蔽

使用道具

簽到天數: 28

該用戶今日未簽到

發表於 2010-11-26 08:17 | 顯示全部樓層
回覆 3# hj23075114 的文章

GOOGLE搜尋-.-
老師什麼都沒教嗎

使用道具

該用戶從未簽到

發表於 2010-12-3 02:43 | 顯示全部樓層
有很多方法可以寫耶~利用位元運算子也可以,
只是說十進位制的數字要多大限制,也可以用內訂的函數計算~
記得好像看過用%餘數的方法比較快~跟2F的前輩觀念是一樣的
詳細的寫法可以參考網路~

使用道具

該用戶從未簽到

發表於 2011-4-14 00:41 | 顯示全部樓層
不知道你是用哪套軟體啊
如果是Dev-C++的話
我可以提供給你

讀入 十進位數字 輸出 二進位數字

步驟 [這是寫出下面程式的觀念]

1.讀入整數 x

2. x 除 2 取餘數 y , 商 z

3.將 y 存入陣列
  將 z 存入 x

4.回到 步驟2

-----------------------------------------------

x % 2 → x 除 2 取餘數
x / 2 → 整數 x 除 整數 2 取整數商

-----------------------------------------------

#include <iostream>
using namespace std;
int main ()
{
int i;
i = 0;
int x,y,z,a[i];
cin >> x;  
   while (x != 1)
   {
   y = x % 2;
   z = x / 2;
   x = z;
   a[i] = y;
   i = i + 1;   
   }
i = i - 1;
   cout << z;
   while (i >= 0)
   {
   cout << a[i];
   i--;   
   }
system ("pause");
}

不懂再問吧

使用道具

該用戶從未簽到

發表於 2011-4-19 11:36 | 顯示全部樓層
上次po的出了一點小問題
更正


#include <iostream>
using namespace std;
int main ()
{
int w,x,y,z,a[10000];
w = 0;
cin >> x;  
   while (x != 1)
   {
   y = x % 2;
   z = x / 2;
   x = z;
   a[w] = y;
   w = w + 1;   
   }
i = i - 1;
   cout << z;
   while (w >= 0)
   {
   cout << a[w];
   w--;   
   }
system ("pause");
}


這個還可以精簡
最終精簡版

#include <iostream>
using namespace std;
int main ()
{
int w,x,y,z,a[10000];
w = 0;
cin >> x;  
   while (x != 1)
   {
   a[w++] = x % 2;
   x = x / 2;
   }
i--;
   cout << z;
   while (w >= 0)
   cout << a[w--];
system ("pause");
}

使用道具

您需要登入後才可以回帖 登入 | 註冊

本版積分規則

Discuz! X

© 2009-2017 Microduo

快速回覆 返回頂部 返回列表