用C++实现十进制到十六进制的两种转换方法.doc

用C++实现十进制到十六进制的两种转换方法.doc

ID:53241250

大小:22.50 KB

页数:3页

时间:2020-04-02

用C++实现十进制到十六进制的两种转换方法.doc_第1页
用C++实现十进制到十六进制的两种转换方法.doc_第2页
用C++实现十进制到十六进制的两种转换方法.doc_第3页
资源描述:

《用C++实现十进制到十六进制的两种转换方法.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、#include #include #include #include #include using namespace std;string itos(int n){    ostringstream o;    o << n;    return o.str();}string ctos(char n){    ostringstream o;    o << n;    return o.str();}//采用移位运算,每四位转换为一个十六进制数void invert_1(vector

2、 &v1, int n){  int bytenum = sizeof(int);  int m = 0;  for(int i = 2*bytenum-1; i!=-1; --i)    {      m = n;      m = (m >> i*4) & ~(~0 << 4);           if(m>=0 && m<=9)         v1.push_back(itos(m));       else         v1.push_back(ctos(char(m+55)));     }}//用16去除输入的十进制数void invert_2(

3、vector &v2, int n){  int shang = 0;  //商  int yushu = 0;  //余数  int value = 1;  //权值    while(value <= n)   {     value = value * 16;     yushu = n % value;     shang = yushu * 16 / value;            if(shang>=0 && shang<=9)         v2.push_back(itos(shang));       else         v2.push

4、_back(ctos(char(shang+55)));   }    reverse(v2.begin(),v2.end());        //将向量中的元素倒置}void print(vector &v){   bool first = true;    //判断0要不要输出  cout << "the result is: ";  for(vector::size_type it = 0; it != v.size(); ++it)   {      if(v[it]=="0" && first == true)         conti

5、nue;     else        first = false;     if(first == false)       cout << v[it];   }      cout << endl;}int main(){  vector v1;  vector v2;  int input = 0;  cout << "please input a decimal data: ";  cin >> input;  invert_1(v1,input);  invert_2(v2,input);  print(v1);  print(v2); 

6、 return 0;}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。