2进制数转换成16进制数(C++)
程序如下:
#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++)相关推荐
- 10进制数转换成16进制
十六进制的元素个数固定,而且还有对应编号,可以用查表法.一个int类型十进制数在32位操作系统中占4个字节,32位2进制数取它的低8位,例如60,在内存中以二进制数0011 1100存放,而一个十六进 ...
- 10进制颜色 转换成 16进制
设计用sketch给的10进制的颜色,比如255 255 255用的时候要转换一下 .写个工具类方便一下 复制代码保存为 html文件就可以用了 <html> <head>&l ...
- 将10进制整数转换成16进制整数输出
题意: 把十进制整数转换为十六进制,格式为0x开头,10~15由大写字母A~F表示. Input 每行一个整数x,0<= x <= 2^31. Output 每行输出对应的八位十六进制整数 ...
- STM32+拨码开关,读取拨码开关电平值并转换成16进制数,一种简洁的编程思路
以2p拨码开关为例 在main.h中,宏定义单片机IO口和函数HAL_GPIO_ReadPin()的返回值 #define DIP0_Pin GPIO_PIN_0 #define DIP0_GPIO_ ...
- MFC中将用户输入的表示16进制数的字符串转换成16进制数输出显示(包含1.wstring转成string的方法函数2.用boost库拆分字符串的函数3.字符转16进制数值的函数)
前期准备: 1.电脑中安装好boost库,我的电脑中安装在C盘根目录下,如下图所示: 2.配置好boost环境变量,如下图所示: 3.开发环境VS2015,工程为MFC应用程序 需要的头文件如下: # ...
- 10进制转换成16进制
更新中......... 任意2-36进制数转化为10进制数. 建议自己写函数,代码如下: int Atoi(string s,int radix) //s是给定的radix进制字符串 {int an ...
- 编程实现将一个N进制数转换成M进制数
问题:编程实现将一个N进制数转换成M进制数.(c/c++.Java.Javascript.C#.Python) 1.Python 手写算法版 def conversion_num(num, src, ...
- php 字符串转化为16进制,php将字符串转换成16进制的方法
php将字符串转换成16进制的方法 本文实例讲述了php将字符串转换成16进制的方法.分享给大家供大家参考.具体分析如下: php中可以通过bin2hex函数将字符串转换成16进制的形式输出,bin2 ...
- 将字符串转换成16进制
将字符串转换成16进制 原文:将字符串转换成16进制 1.将普通字符串转换成16进制的字符串. 点击进入推荐链接 class Program {static void Main(string[] ar ...
最新文章
- 禁止Apache列出目录内容
- Linux性能及调优指南(翻译)
- 关于C/C++程序的一些规范(2005-5-10)
- TypeScript:数组
- ios - 带动画圆形旋转的进度条
- OpenStack之Nova模块
- Hdu1412 (set......Java)
- Pandas速查中文手册
- 单片机小车关于PWM控速
- 管中窥豹SPDK RBD bdev 模块
- python微信公众号翻译功能怎么用_使用python一步一步搭建微信公众平台(二)----搭建一个中英互译的翻译工具...
- jquery实现输入框实时统计字数和设置字数限制功能
- 2020年8月份需求排期
- vue项目中的h5图片上传(处理上传的时候图片被旋转的问题,并压缩图片大小)
- 计算机磁盘清理软件,清理磁盘空间的7种技巧,电脑装机、安装系统必备
- 《Vue3+TS》开发一个自己的起始页
- 软件无线电,虚拟无线电
- x98air2+android+升级,【转】台电x98 3G 平板刷机、升级、ROOT详解及教程
- 选择电容要考虑哪些点?
- 用EXCEL计算距平数据