【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;
} 
相关推荐
C++ 老炮儿的技术栈几秒前
C++ const 的3个核心作用
服务器·c语言·c++·算法·c
小黄人软件2 分钟前
粘贴助手C++版 支持 Windows 7 / 10 / 11 不会出现缺少api-ms-win-core-path-11-1-0.dll
开发语言·c++·windows
有毒的教程13 分钟前
Dev-C++ 避免爆栈(Stack Overflow)完整方案
c++·算法·深度优先
半亩码田13 分钟前
C#转Python第4.7篇:logging:Python 的标准日志库
开发语言·python·c#
程序员老陆14 分钟前
从汇编层面理解 C++ 多线程
开发语言·c++·程序设计
谢亮_vipxieliang22 分钟前
深入理解 JavaScript 数据类型与类型转换
开发语言·javascript·ecmascript
IOT-Power30 分钟前
模板方法 + 策略模式
开发语言·c++
EatFan35 分钟前
2026 Rust 后端技术栈选型:Axum 0.8 + Tokio + SQLx 全链路怎么搭
开发语言·后端·rust·tokio·serde·axum·sqlx
外收内放36 分钟前
Python基础语法练习题(59-原始版本与优化版本)
开发语言·python
2401_8888597140 分钟前
STM32H733 MPU、AXI、FMC学习
java·开发语言·stm32·spring