今天看书讲到十进制、二进制、十六进制的互相转换,自己试了下。十进制和十六进制互相转换需要借助二进制作为中间媒介。用到了STL标准库的向量、队列、字符串。
// decimal2hex2decimal.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <string>
#include <deque>
using namespace std;
//十进制转为二进制
vector<int> dec2bin(int num)
{
vector<int> myvec;
vector<int> binVec;
//vector<int>::iterator Biter;
vector<int>::iterator iter;
while(num/2 != 0)
{
if(num%2 == 0)
{
myvec.push_back(0);
}
else
{
myvec.push_back(1);
}
num=num/2;
}
myvec.push_back(1);
//反转一下向量实现真正转为二进制
for(iter=myvec.end(); iter!=myvec.begin(); iter--)
{
binVec.push_back(*(iter-1));
//cout<<(*iter);
}
return binVec;
}
//十进制转为十六进制
string dec2hex(