读书人

面试题:编撰一个将十进制数转换为任意

发布时间: 2013-09-28 10:01:20 作者: rapoo

面试题:编写一个将十进制数转换为任意进制的算法或函数

题目:设计一个函数,输入参数1是一个十进制整数,参数2是要待转换的进制,用m表示,如m=8,代表将参数1转换为8进制。并给出输出。

思路:除积取余,倒排余数。

代码:

#include "stdafx.h"

#include <iostream>

#include <deque>

using namespace std;

deque<int>Hexadecimal_Conversion(int n,int m)

{

deque<int> deqH;

while(0 != n / m)

{

deqH.push_front(n% m);

n/= m;

}

deqH.push_front(n% m);

return deqH;

}

int_tmain(int argc, _TCHAR* argv[])

{

int n = 10;

int m = 2;

deque<int> deqT;

deqT= Hexadecimal_Conversion(n,m);

copy(deqT.begin(),deqT.end(),ostream_iterator<int>(cout,""));

cout<<endl;

return 0;

}

输出:1 0 1 0

当然,如果输出16进制时,输出时可能需要将10到15转换为A到F

读书人网 >其他相关

热点推荐