string MySystem::BinaryToHex(string str)
{
if (str.empty())
{
return "";
}
int Complement = 0;//需要补充的位数 ---二进制数据不是4的倍数的话,需要在左边补0
int Length = str.size() % 4;
if (Length)
{
Complement = Length;
}
string Temp("");//保存已经添加过0的二进制数据
for (int i = 0; i < 4-Length&&0!=Length;++i)
{
Temp += '0';
}
Temp += str;
//保存匹配的结果
typedef pair<string, char> Match;
map<string, char> Map;
Map.insert(Match("0000",'0'));//0
Map.insert(Match("0001", '1'));//1
Map.insert(Match("0010", '2'));//2
Map.insert(Match("0011", '3'));//3
Map.insert(Match("0100", '4'));//4
Map.insert(Match("0101", '5'));//5
Map.insert(Match("0110", '6'));//6
Map.insert(Match("0111", '7'));//7
Map.insert(Match("1000", '8'));//8
Map.insert(Match("1001", '9'));//9
Map.insert(Match("1010", 'a'));//10
Map.insert(Match("1011", 'b'));//11
Map.insert(Match("1100", 'c'));//12
Map.insert(Match("1101", 'd'));//13
Map.insert(Match("1110", 'e'));//14
Map.insert(Match("1111", 'f'));//15
string Result("0X");
map<string, char>::iterator iter;
for (int i = 0; i < Temp.size();i+=4)
{
iter=Map.find(Temp.substr(i, 4));
if (iter!=Map.end())
{
Result += iter->second;
}
}
return Result;
}

二进制转换为十六进制相关推荐

  1. C语言二进制转换为十六进制(附完整源码)

    C语言二进制转换为十六进制 C语言二进制转换为十六进制完整源码 C语言二进制转换为十六进制完整源码 #include <stdio.h>int main() {long int binar ...

  2. bash 将二进制转换为十进制_一文帮你详细图解二进制、八进制、十进制、十六进制之间的转换...

    1.背景(Contexts) 之前使用SQL把十进制的整数转换为三十六进制,SQL代码请参考:SQL Server 进制转换函数,其实它是基于二.八.十.十六进制转换的计算公式的,进制之间的转换是很基 ...

  3. java将字节转十六进制,Java代码将字节转换为十六进制

    问题 我有一个字节数组.我希望将该数组的每个字节字符串转换为其对应的十六进制值. Java中是否有任何函数将字节数组转换为十六进制? #1 热门回答(240 赞) byte[] bytes = {-1 ...

  4. bash 将二进制转换为十进制_6、计算机进制之二进制、十进制、十六进制之间的转换...

    1.计算机的数制介绍 数制:计数的方法,指用一组固定的符号和统一的规则来表示数值的方法 数位:指数字符号在一个数中所处的位置 基数:指在某种进位计数制中,数位上所能使用的数字符号的个数 位权:指在某种 ...

  5. 二进制数据转换为十六进制字符串

    // 环境:Windows 10,64bit,VS2017 Enterprise x64 // 二进制数据转换为十六进制字符串 /// // @name: DataToHexString // @br ...

  6. 十进制转换为十六进制-八进制-二进制的进制转换计算

    进制换算在工作中是一项必不可少的技能,例如在RTC中得到的数据为十六进制的,但是我们使用时用的是十进制.这就免不了进行进制之间的换算.进制之间的换算可以手动计算进行换算,也可以编写程序进行换算.这里主 ...

  7. JS将十进制转换为二进制、十六进制、八进制,任意进制

    JS将十进制转换为2进制.16进制.8进制,任意进制 转换为二进制 let n = 1234; console.log(n.toString(2)); 转换为十六进制 let n = 1234; co ...

  8. 十进制转换为二进制和十六进制

    十进制转换为二进制和十六进制 一.十进制数转化为二进制 整数除以2,商继续除以2,得到0为止. 以23为例: 23/2 11余1 11/2 5 余 1 5 /2 2余 1 2 /2 1余 0 1 /2 ...

  9. 利用栈实现把十进制数转换为二进制至十六进制之间的任一进制数并输出的功能。(第二版)

    [实验题目内容] 保持计算机默认的十进制不变(要求不用C++流操纵符转换基数为八进制形式oct,不用C++流操纵符转换基数为十六进制形式hex,也不用setbase(base)函数将基数设置为base ...

最新文章

  1. 周期串java_求最小周期串
  2. sp烘焙流程_3分钟带你快速入门substance painter 贴图制作
  3. mfc判断文件是否被读写_迅为干货|标准io之一个字符的读写函数
  4. pythonfillcolor_openpyxl 填充颜色(单元格)
  5. 【递推】1193:吃糖果
  6. J2EE学习笔记(四)之Servlet原理
  7. java 资源描述文件_j2me新手必看-Java应用描述文件(JAD)编辑器
  8. 简单个人网页设计作业 静态HTML旅行主题网页作业 DW个人网站模板下载 大学生简单个人网页作品代码 个人网页制作 学生个人网页Dreamweaver设计作业
  9. SOCK/HTTP代理协议解析
  10. python yield是什么意思_python yield有什么用
  11. linux shell 未找到命令,未找到linux问题setenv命令(linux issue setenv command not found)
  12. 系统之家U盘 win10返回桌面快捷键是什么
  13. WPF免费视频教程,来自Lynda.com
  14. 二分法解一元三次方程c语言,电子技术的应用用二分法解一元三次方程的C++程序:保护环境的广告语...
  15. 华为云 ModelArts——简单的机器学习 初体验
  16. postgresql sha256
  17. 服务器网站权限设置,在服务器上设置网站权限
  18. twrp调整分区_一加7专版TWRP中英文修改优化版-刷机之家
  19. VMware虚拟机安装教程图解,虚拟机…
  20. zzulioj1016: 银行利率

热门文章

  1. 台球游戏问题C++语言
  2. ThinkPad 在win10系统上设置Windows Hello
  3. 人工智能与计算机软件的区别,人工智能和计算智能有什么区别呢?
  4. 三菱FX3G和台达,施耐德两台变频器的通讯示例 通过modbus rtu功能,实现三菱FX3G PLC通讯控制变频器正反转
  5. 林大OJ习题 2020年1月11日
  6. 三相电原理和接法,与两相电、单相电的区别
  7. 电感为什么是电压超前90度——问题整理
  8. Linux查看log日志命令总结
  9. 动态ip地址有什么优缺点!!!
  10. HP电脑恢复系统(一键还原)