【C++题解】1294 - 二进制转十六进制

问题:1294 - 二进制转十六进制

类型:进制转换


题目描述:

请将一个不超过 100 位的二进制数转换为十六进制数!

输入:

一个不超过 100 位的二进制整数。

输出:

该数对应的十六进制数。

样例:

输入:

cpp 复制代码
11001001111011111000001000010011

输出:

cpp 复制代码
C9EF8213

1.分析问题

  1. 已知:
  2. 未知:
  3. 关系:

2.定义变量

3.输入数据

4.数据计算

5.输出结果

完整代码如下:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main(){
	//一、分析问题
	//已知:一个不超过 100 位的二进制数;
	//未知:转换为十六进制数输出; 
	//关系:	进制转换。 
	//二、定义变量(已知、未知、关系)
	string s,r,d="0123456789ABCDEF";
	int index; 
	//三、输入已知
	cin>>s;
	//四、根据关系计算
	while(s.size()%4!=0){
		s.insert(0,"0");
	}
	for(int i=0;i<s.size();i+=4){
		index=(s[i]-'0')*8+(s[i+1]-'0')*4+(s[i+2]-'0')*2+(s[i+3]-'0');
		r+=d[index];
	}
	
	//五、输出未知 
	cout<<r;
	
	return 0;
} 
相关推荐
图图不是秃秃21 分钟前
Java构造方法详解:从入门到实战
java·开发语言
明月看潮生25 分钟前
青少年编程与数学 02-010 C++程序设计基础 44课题、QT
开发语言·c++·qt·青少年编程·编程与数学
bryant_meng38 分钟前
【python】OpenCV—Hough Circle Transform
开发语言·python·opencv·hough·圆形检测
问道飞鱼42 分钟前
【云原生知识】如何搭建基于服务网关的分布式服务?
开发语言·云原生·istio·服务网格
酷酷的崽7981 小时前
如何在AVL树中高效插入并保持平衡:一步步掌握旋转与平衡因子 —— 旋转篇
c语言·数据结构·c++·算法
宇寒风暖1 小时前
一文弄懂编辑距离算法(Levenshtein Distance)示例,通过动态规划计算两个字符串之间的最小编辑操作次数(插入、删除、替换)
开发语言·数据结构·笔记·学习·算法·动态规划
EPSDA1 小时前
介绍HTTP协议基本结构与Linux中基本实现HTTPServer
linux·运维·开发语言·c++·网络协议·tcp/ip·http
爱的叹息1 小时前
分别用树型和UML结构展示java集合框架常见接口和类
java·开发语言·uml
涂瑷菡1 小时前
Bash语言的进程管理
开发语言·后端·golang
小温不会码1 小时前
深入理解C/C++堆数据结构:从原理到实战
数据结构·c++·算法