欢迎关注原创公众号 【计算机视觉联盟】,回复 【西瓜书手推笔记】 可获取我的机器学习纯手推笔记!

直达笔记地址:机器学习手推笔记(GitHub地址)

其他转换请参考博文:

C++编程积累——C++实现十进制与二进制之间的互相转换


十进制与十六进制之间的转换

十进制转换十六进制

与二进制类似,十进制转十六进制对16整除,得到的余数的倒序即为转换而成的十六进制,特别地,如果超过10以后,分别用ABCDEF或abcdef来代替10、11、12、13、14、15。


C++实现十进制转换十六进制

主函数main.cpp为:

#include<iostream>
#include<fstream>
#include<string>
#include<vector>
#include<cmath>
using namespace std;
int main()
{int N;cout << "Please enter the number: ";cin >> N;cout << endl;//十进制转十六进制的声明和调用void  convert_10_to_16(int num);convert_10_to_16(N);
}

十进制转换为十六进制函数为:

#include<iostream>
#include<fstream>
#include<string>
#include<vector>
#include<cmath>
using namespace std;
void convert_10_to_16(int num)
{vector<int> ivec;int Num = num;while (num != 0){ivec.push_back(num % 16);num = num / 16;}vector<int>::size_type sz = ivec.size();vector<string> ivec2;int m = 0;string s;for (vector<int>::size_type index = 0; index != sz; ++index){if (ivec[sz - 1 - index] > 9){   m = ivec[sz - 1 - index] + 55;s = m+'0'-'0';ivec2.push_back(s);}else{s = ivec[sz - 1 - index] + '0';ivec2.push_back(s);}         }cout << Num << "十进制转十六进制后为:";for (auto item : ivec2)cout << item;cout << endl << endl;
}

运行结果:


十六进制转换十进制

将十六进制从右往左从零次幂开始乘以十六进制数并求和,这里需要对字母表示的数字进行转换

十六进制转换十进制

C++实现十六进制转换十进制

主函数main.cpp为:

#include<iostream>
#include<fstream>
#include<string>
#include<vector>
#include<cmath>
using namespace std;
int main()
{double convert_16_to_10();convert_16_to_10();return 0;
}

十进制转换为十六进制函数为:

//************************************************************************************
十六进制转换为十进制
//************************************************************************************
#include<iostream>
#include<fstream>
#include<string>
#include<vector>
using namespace std;
double convert_16_to_10()
{//输入十六进制数并存储在string变量str2中cout << "Please enter the ShiLiuJInZhi numbers:  " << endl;char s;string str2;while (cin >> s){str2.push_back(s);}double sum = 0, times;double m;string::size_type sz = str2.size();for (string::size_type index = 0; index != sz; ++index){//变为小写,这个思路很好str2[index] = tolower(str2[index]);if (str2[index] >= 'a' && str2[index] <= 'f'){//这里让a~f进行转换为数字字符,很奇妙m = str2[index] - 'a' + 10;//求幂次方times = pow(16, (sz - 1 - index));sum += m * times;}else if (isdigit(str2[index])){//需要将字符类型转换为数字类型//因为0的ASCII码是48,所以转换为相应的数字,减去48即可m= str2[index] - 48;times = pow(16, (sz - 1 - index));sum += m * times;}else{cout << "无法识别的十六进制!";break;}}cout << "16进制转10进制为: ";cout << sum << endl;return 0;
}

运行结果:

C++编程积累——C++实现十进制与十六进制之间的互相转换相关推荐

  1. C++编程积累——C++实现十进制与八进制之间的互相转换

    其他转换请参考博文: C++编程积累--C++实现十进制与二进制之间的互相转换 目录 十进制与八进制之间的转换 十进制转换八进制 C++实现十进制转换二进制 八进制转换十进制 C++实现八进制转换十进 ...

  2. C++编程积累——C++实现十进制与二进制之间的互相转换

    欢迎关注原创公众号 [计算机视觉联盟],回复 [西瓜书手推笔记] 可获取我的机器学习纯手推笔记! 直达笔记地址:机器学习手推笔记(GitHub地址) 目录 十进制与二进制之间的转换 十进制转换二进制 ...

  3. 二进制、八进制、十进制、十六进制之间的互相转换_20200711

    二进制.八进制.十进制.十六进制之间的互相转换 一.其他进制转十进制 任何进制转换十进制都能按照权值展开计算,二进制的权值为2的n-1次方,n是当前位数,十六进制为16的n-1次方,依此类推,小数部分 ...

  4. 网络编程 网络地址点分十进制和二进制之间的转换

    网络编程 网络地址点分十进制和二进制之间的转换 点分十进制->二进制 点分十进制转二进制的函数有inet_addr,inet_aton,inet_network,inet_pton,它们都将输入 ...

  5. 二进制 八进制 十进制 十六进制 之间进制转换(图解篇)

    一.本文所涉及的内容(Contents)                      目录 一.本文所涉及的内容(Contents) 二.背景(Contexts) 三.进制转换算法(Convert) ( ...

  6. Java005-二进制、八进制、十进制和十六进制之间的转换

    Java005-二进制.八进制.十进制和十六进制之间的转换 一.Java中的进制转换 1)在Java中各进制的输入 (1)二进制输入,需要在开头加0B或0b,如0B1101. (2)八进制输入,需要在 ...

  7. 【基础01】二进制、八进制、十进制、十六进制的概念及转换关系

    [基础01]二进制.八进制.十进制.十六进制的概念及转换关系 概述:二进制.八进制.十进制.十六进制的概念及转换关系详解 一.各进制的概念 常用的进制包括:二进制.八进制.十进制与十六进制,它们之间区 ...

  8. python转换八进制用取余数方法_python 二、八、十六进制之间的快速转换

    一.进制转换 1.2 十进制转二进制 bin(18)--> '0b10010'     去掉0b就是10010    即为十进制18转二进制是10010 十进制转八进制oct(18) --> ...

  9. QT 十进制与十六进制(字符型) 互相转换 -串口编程

    串口使用中会经常用到.目前使用到的是QByteArray::number(源数据 ,目标输出的进制).作下记录,以供日后参考. 十进制转为十六进制(tmp[0] = '0x14') int num = ...

最新文章

  1. 【Java 并发编程】线程简介 ( 进程与线程 | 并发概念 | 线程间通信 | Java 并发 3 特性 )
  2. html函数属性的赋予,你可以将javascript函数名称设置为html属性吗?
  3. js实现购物车数量的增加与减少,js实现购物车数量的自增与自减
  4. 关于更新 Web 应用程序 URL 和 IIS 绑定
  5. stl 基于哈希的map c++_【C++】一文带你入门 STL
  6. sql2016是否支持linux,微软 SQL Server 支持 Linux 了,2017年 中将正式推出
  7. NLP快速入门:手把手教你用HanLP做中文分词
  8. 《SAS编程与数据挖掘商业案例》学习笔记之五
  9. linux kill命令信号,Linux kill 命令详解
  10. 1+X web中级 Laravel学习笔记——使用DB facade对数据库进行增删改查
  11. Ubuntu 11.04下编译kernel
  12. 1018. 可被 5 整除的二进制前缀
  13. 深度学习基础(八)—— 稀疏自编码器
  14. individual program总结2.0
  15. linux的df命令根目录,详细分析Linux df命令的使用方法
  16. Spotfire 对条形图中分组后的值排序
  17. Win7 局域网共享文件夹
  18. 【原创】PC微信逆向分析の强制输出微信调式信息
  19. 持续交付和DevOps是一对好基友
  20. 25个移动APP图表设计欣赏(译)

热门文章

  1. opencv threshold_OpenCV-Python 立体图像的深度图 | 五十二
  2. swish 好还是relu好_筒灯暗装好还是明装好?
  3. JAVA jlist 获取选定,java - 拆分并将选定的jList值移动到jTable行(SWING) - 堆栈内存溢出...
  4. qvector 结构体排序_1164 2547 (排序微课)(B站视频链接)
  5. open函数返回-1_记录学习python的第3天-递归函数/文件操作
  6. [有问有答] 如何用邮件安全地传递密码
  7. 苹果ios,下拉菜单错位的问题(目前iphone x没发现有这个问题)
  8. 1067 Sort with Swap(0, i) (25 分)
  9. CentOS7下安装Tomcat
  10. Java byte类型转换成int类型时需要 0XFF的原因