程序如下:

#include<bits/stdc++.h>
using namespace std;
//整体思路:二进制中的4个数字对应1个16进制数字
char a[100010];
int main(){
    string s;
    cin >>s;
    int t=s.size();                                    //确定字符串中的字符个数
    if (t%4!=0)                                        //如果字符个数不是4的倍数,前面加0
    {
        for (int i=1;i<=4-t%4;i++) s='0'+s;            //实现前面加0,使字符个数是4的倍数
    }
    for (int i=0;i<t;i+=4)                            //每4位二进制数转换成1位16进制数
    {
        if (s[i]=='0' && s[i+1]=='0' && s[i+2]=='0' && s[i+3]=='0') cout <<0;
        if (s[i]=='0' && s[i+1]=='0' && s[i+2]=='0' && s[i+3]=='1') cout <<1;
        if (s[i]=='0' && s[i+1]=='0' && s[i+2]=='1' && s[i+3]=='0') cout <<2;
        if (s[i]=='0' && s[i+1]=='0' && s[i+2]=='1' && s[i+3]=='1') cout <<3;
        if (s[i]=='0' && s[i+1]=='1' && s[i+2]=='0' && s[i+3]=='0') cout <<4;
        if (s[i]=='0' && s[i+1]=='1' && s[i+2]=='0' && s[i+3]=='1') cout <<5;
        if (s[i]=='0' && s[i+1]=='1' && s[i+2]=='1' && s[i+3]=='0') cout <<6;
        if (s[i]=='0' && s[i+1]=='1' && s[i+2]=='1' && s[i+3]=='1') cout <<7;
        if (s[i]=='1' && s[i+1]=='0' && s[i+2]=='0' && s[i+3]=='0') cout <<8;
        if (s[i]=='1' && s[i+1]=='0' && s[i+2]=='0' && s[i+3]=='1') cout <<9;
        if (s[i]=='1' && s[i+1]=='0' && s[i+2]=='1' && s[i+3]=='0') cout <<'A';
        if (s[i]=='1' && s[i+1]=='0' && s[i+2]=='1' && s[i+3]=='1') cout <<'B';
        if (s[i]=='1' && s[i+1]=='1' && s[i+2]=='0' && s[i+3]=='0') cout <<'C';
        if (s[i]=='1' && s[i+1]=='1' && s[i+2]=='0' && s[i+3]=='1') cout <<'D';
        if (s[i]=='1' && s[i+1]=='1' && s[i+2]=='1' && s[i+3]=='0') cout <<'E';
        if (s[i]=='1' && s[i+1]=='1' && s[i+2]=='1' && s[i+3]=='1') cout <<'F';
    }
    return 0;
}

2进制数转换成16进制数(C++)相关推荐

  1. 10进制数转换成16进制

    十六进制的元素个数固定,而且还有对应编号,可以用查表法.一个int类型十进制数在32位操作系统中占4个字节,32位2进制数取它的低8位,例如60,在内存中以二进制数0011 1100存放,而一个十六进 ...

  2. 10进制颜色 转换成 16进制

    设计用sketch给的10进制的颜色,比如255 255 255用的时候要转换一下 .写个工具类方便一下 复制代码保存为 html文件就可以用了 <html> <head>&l ...

  3. 将10进制整数转换成16进制整数输出

    题意: 把十进制整数转换为十六进制,格式为0x开头,10~15由大写字母A~F表示. Input 每行一个整数x,0<= x <= 2^31. Output 每行输出对应的八位十六进制整数 ...

  4. STM32+拨码开关,读取拨码开关电平值并转换成16进制数,一种简洁的编程思路

    以2p拨码开关为例 在main.h中,宏定义单片机IO口和函数HAL_GPIO_ReadPin()的返回值 #define DIP0_Pin GPIO_PIN_0 #define DIP0_GPIO_ ...

  5. MFC中将用户输入的表示16进制数的字符串转换成16进制数输出显示(包含1.wstring转成string的方法函数2.用boost库拆分字符串的函数3.字符转16进制数值的函数)

    前期准备: 1.电脑中安装好boost库,我的电脑中安装在C盘根目录下,如下图所示: 2.配置好boost环境变量,如下图所示: 3.开发环境VS2015,工程为MFC应用程序 需要的头文件如下: # ...

  6. 10进制转换成16进制

    更新中......... 任意2-36进制数转化为10进制数. 建议自己写函数,代码如下: int Atoi(string s,int radix) //s是给定的radix进制字符串 {int an ...

  7. 编程实现将一个N进制数转换成M进制数

    问题:编程实现将一个N进制数转换成M进制数.(c/c++.Java.Javascript.C#.Python) 1.Python 手写算法版 def conversion_num(num, src, ...

  8. php 字符串转化为16进制,php将字符串转换成16进制的方法

    php将字符串转换成16进制的方法 本文实例讲述了php将字符串转换成16进制的方法.分享给大家供大家参考.具体分析如下: php中可以通过bin2hex函数将字符串转换成16进制的形式输出,bin2 ...

  9. 将字符串转换成16进制

    将字符串转换成16进制 原文:将字符串转换成16进制 1.将普通字符串转换成16进制的字符串. 点击进入推荐链接 class Program {static void Main(string[] ar ...

最新文章

  1. 禁止Apache列出目录内容
  2. Linux性能及调优指南(翻译)
  3. 关于C/C++程序的一些规范(2005-5-10)
  4. TypeScript:数组
  5. ios - 带动画圆形旋转的进度条
  6. OpenStack之Nova模块
  7. Hdu1412 (set......Java)
  8. Pandas速查中文手册
  9. 单片机小车关于PWM控速
  10. 管中窥豹SPDK RBD bdev 模块
  11. python微信公众号翻译功能怎么用_使用python一步一步搭建微信公众平台(二)----搭建一个中英互译的翻译工具...
  12. jquery实现输入框实时统计字数和设置字数限制功能
  13. 2020年8月份需求排期
  14. vue项目中的h5图片上传(处理上传的时候图片被旋转的问题,并压缩图片大小)
  15. 计算机磁盘清理软件,清理磁盘空间的7种技巧,电脑装机、安装系统必备
  16. 《Vue3+TS》开发一个自己的起始页
  17. 软件无线电,虚拟无线电
  18. x98air2+android+升级,【转】台电x98 3G 平板刷机、升级、ROOT详解及教程
  19. 选择电容要考虑哪些点?
  20. 用EXCEL计算距平数据

热门文章

  1. Vim 插件YouCompleteMe(YCM)安装
  2. picACG本地缓存目录_如何从缓存白嫖网易云音乐
  3. 为debian10添加163软件源
  4. Nginx常用命令(启动、重启、关闭、检查)
  5. 毕业设计-基于机器视觉的行人车辆跟踪出入双向检测计数
  6. Cadence17.2的.brd文件转HyperLynx9.4.1的.hyp文件教程
  7. Python:matplotlib绘制线条图
  8. Java学习之路:少走弯路,就是捷径
  9. 中国现代文学名家名作答案
  10. 极客战记作业完成情况