作者 主題: c++ 10進制轉12進制  (閱讀 6819 次)

0 會員 與 1 訪客 正在閱讀本文。

vup0649

  • 可愛的小學生
  • *
  • 文章數: 28
    • 檢視個人資料
c++ 10進制轉12進制
« 於: 2010-08-25 16:41 »
請問有甚麼函數可以直接用嗎?

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5396
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
回覆: c++ 10進制轉12進制
« 回覆 #1 於: 2010-08-25 16:49 »
12 進位應該很少用到, 多數的語言應該都沒有特別處理.

作業嗎? 為了怕學生直接一行就算出答案, 所以出個不常用的來寫嗎?

日京三子

  • 全區板主
  • 俺是博士!
  • *****
  • 文章數: 8830
    • 檢視個人資料
    • http://www.24online.cjb.net
回覆: c++ 10進制轉12進制
« 回覆 #2 於: 2010-08-25 17:21 »
這應該是考驗學生,「進制」轉換的基本功吧!



想當年,老師出了一個 60 進制 的題目,要我們轉換 一串數字為幾天幾小時幾分,真是超歡樂的!
哈克不愛的多合一輸入平台----->新香草口味
過去的時間不斷流逝,抹去的眼淚已成追憶;
乾枯的雙手無力阻止,再會了我遠去的曾經。

vup0649

  • 可愛的小學生
  • *
  • 文章數: 28
    • 檢視個人資料
回覆: c++ 10進制轉12進制
« 回覆 #3 於: 2010-08-25 21:12 »
之前考試的題目 平常都是轉2.8.16 看到12忽然傻住...不知道從哪下手... ???

vup0649

  • 可愛的小學生
  • *
  • 文章數: 28
    • 檢視個人資料
回覆: c++ 10進制轉12進制
« 回覆 #4 於: 2010-08-25 21:44 »
剛剛想了一下
代碼: [選擇]
#include <iostream>
#include <fstream>
using namespace std;
void main()
{
ifstream data("e.txt");
int a,b;
data >> a >> b;
cout << a <<" " <<b <<endl;
int s=0;
int c[50];

while(b>0)
{
c[s]=b%a;
s++;
b/=a;
}

cout << "Ans=";
for(int i=s-1;i>=0;i--)
{
if(c[i]==10)
cout << "A";
else if(c[i]==11)
cout << "B";
else if(c[i]==12)
cout << "C";
else if(c[i]==13)
cout << "D";
else if(c[i]==14)
cout << "E";
else if(c[i]==15)
cout << "F";
else
cout << c[i];
}
cout <<endl;

}
轉2~16進制 讀2個數 第1個數要轉的進制 第2個數轉換數字
可以幫我看看這樣寫會不會有問題?

thyme

  • 老人組
  • 俺是博士!
  • *****
  • 文章數: 1281
    • 檢視個人資料
回覆: c++ 10進制轉12進制
« 回覆 #5 於: 2010-08-27 13:12 »
使用 strtol 不知可不可行…