【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;
} 
相关推荐
悠仁さん5 小时前
【C++】AVL 树
c++
wuminyu5 小时前
JVM规范学习总结:解释器与JIT编译器如何处理JVM字节码
java·linux·c语言·jvm·c++
小徐不徐说5 小时前
序列化与反序列化:把 C++ 对象可靠地保存下来
开发语言·数据库·c++·php
ragnwang5 小时前
Notes: Python pybind11 import C++ module
开发语言·c++·python
Wang's Blog5 小时前
Java 项目实战: 交友项目 - 搜索附近的功能概述和分析
java·开发语言·交友
骑着蜗牛撵大象3276 小时前
大模型 Agent 的沙箱护栏:gVisor 隔离、出口白名单与审计闭环
java·开发语言·jvm·安全·agent沙箱·gvisor·microvm
Dxy12393102167 小时前
JS DES 加密详解
开发语言·javascript·arcgis
充值内卷7 小时前
我给桌面加了个鱼缸:C++ 写后端,WebView2 里养一座 Three.js 小岛
开发语言·javascript·c++
云和数据.ChenGuang7 小时前
深入解析 Python 的 dir():从用法到 CPython 源码实现
开发语言·人工智能·python·langchain
nice_lcj5208 小时前
深入理解 Java 反射:从 Class 对象到方法调用(含性能实测 + 迷你 IOC 实战 + 面试考点)
java·开发语言·后端·面试