当前位置: 首页 > news >正文

算法学习日记 | 进制转换

🧠 算法学习日记 | 今天我用「进制转换」解了三道题,原来数学也能写成代码!

大家好,我是你们的算法学习搭子 👋
今天继续我的算法入门之旅,重点练习了进制转换这一基础但极其重要的数学与编程结合点。

很多人觉得“进制转换”只是小学数学知识,但其实,在编程中,它是一个典型的“模拟数学过程”的例子。
我们不仅要会算,还要能写出通用的程序来处理任意进制之间的转换。

今天我完整做了三道题,每一道都坚持用最朴素的逻辑实现。下面我把题目原文我的原始代码原封不动贴出来,不做任何删减或美化,只为真实记录学习过程。


🔹 题目一:十六进制转十进制

问题描述
请问十六进制数2021ABCD对应的十进制是多少?

答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

运行限制

  • 最大运行时间:1s
  • 最大运行内存:256M

难度:易 LV.2
标签:2022, 省模拟赛, 代码填空

✅ 我的代码(完全保留原始写法)

#include<iostream>#include<string>usingnamespacestd;intcal(charx){if(x>='A'){returnx+10-'A';}returnx-'0';}intchange(intk,string s){intans=0;for(inti=0;i<s.size();i++){ans=ans*k+cal(s[i]);}returnans;}intmain(){cout<<change(16,"2021ABCD");return0;}

🔹 题目二:九进制转十进制

问题描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

九进制正整数(2022)9(2022)_9(2022)9转换成十进制等于多少?

运行限制

  • 最大运行时间:1s
  • 最大运行内存:512M

难度:易 LV.1
标签:2022, 省赛, 进制转换

✅ 我的代码(完全保留原始写法)

#include<iostream>#include<string>#include<algorithm>usingnamespacestd;intcal(chars){if(s>='A'){returns-'A'+10;}returns-'0';}intchange(intk,string s){intans=0;for(inti=0;i<s.size();i++){ans=ans*k+cal(s[i]);}returnans;}intmain(){cout<<change(9,"2022");return0;}

🔹 题目三:任意进制转换

题目描述
给定一个 $ N $ 进制数 $ S $,请你将它转换为 $ M $ 进制。

输入描述
第一行为一个整数 $ T,表示测试数据数量。(,表示测试数据数量。(,表示测试数据数量。(1 \leq T \leq 10^5 $)

每个测试用例包含两行,第一行包含两个整数 $ N, M $。
第二行输入一个字符串 $ S $,表示 $ N $ 进制数。

数据范围保证:$ 2 \leq N, M \leq 16 $,若 $ N \geq 10 $,则用 $ A \sim F $ 表示数码 $ 10 \sim 15 $。保证 $ S $ 对应的十进制数的位数不超过 10。

输出描述
输出共 $ T $ 行,每行表示一组数据的答案。

输入样例

2 2 10 10101 11 2 1793A5068

输出样例

21 101011110010101001110101010111

运行限制

  • 最大运行时间:1s
  • 最大运行内存:128M

✅ 我的代码(完全保留原始写法)

#include<iostream>#include<string>#include<algorithm>usingnamespacestd;intcal(chars){if(s>='A'){returns-'A'+10;}elsereturns-'0';}intchange_to_10(intk,string s){intans=0;for(inti=0;i<s.size();i++){ans=ans*k+cal(s[i]);}returnans;}stringchange(intk,intx){string ans="";while(x!=0){intt=x%k;if(t<9){ans=ans+(char)(t+'0');}else{ans=ans+(char)(t-10+'A');}x/=k;}reverse(ans.begin(),ans.end());returnans;}intmain(){intn;cin>>n;inta,b;string s;for(inti=0;i<n;i++){cin>>a>>b;cin>>s;cout<<change(b,change_to_10(a,s))<<endl;}return0;}

🌟 我的思考

这三道题,虽然形式不同,但核心思想一致:

进制转换 = 模拟数学运算过程

我们可以把整个过程拆解为两步:

  1. N 进制 → 十进制:从高位到低位,每一位乘以 $ N^{\text{位数}} $ 累加。
  2. 十进制 → M 进制:不断除以 M,取余数倒序排列。

而代码中的cal()函数,就是用来处理字符'A'~'F'到数字 10~15 的映射,这是进制转换中必不可少的一环。

你会发现:

  • 第一题和第二题是特例,直接调用change()函数即可;
  • 第三题是通用版本,先转十进制,再转目标进制;
  • 所有代码都基于同一个逻辑框架,只是输入参数不同。

这说明:编程的本质,是将通用规律封装成函数,再复用解决具体问题


✅ 总结

  • 进制转换不是“背公式”,而是“理解数学过程”
  • 任意进制 → 十进制:从左到右,逐位累加
  • 十进制 → 任意进制:不断取模,倒序输出
  • 字符转数字:'A'-'A'=0,'B'-'A'=1, …,'F'-'A'=5
  • 多进制处理可以用统一函数 + 分步转换

http://www.jsqmd.com/news/341773/

相关文章:

  • 收藏!Java程序员转行大模型:机遇、挑战与实操转型指南(小白友好)
  • 2026年西丽彩色打印机租赁靠谱品牌排名 - 工业推荐榜
  • 性能碾压!国产三维微纳加工设备优质品牌推荐 - 品牌推荐大师
  • 必收藏!3种主流RAG技术详细对比(传统RAG+HyDE+Graph RAG),小白也能看懂的大模型学习指南
  • Nodejs计算机毕设之基于nodejs的回忆小书屋小程序nodejs基于微信小程序的书籍销售系统图书商城网上书店(完整前后端代码+说明文档+LW,调试定制等)
  • 海康网口相机不能被flexscan3d识别到MVS版本为4.6.1,flex为3.3.24在MVS中能够检测到,但是在flex中只能看到电脑自带相机,如何解决?
  • UI自动化测试用例管理平台搭建
  • 基于PLC的锅炉控制系统设计(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码
  • 收藏备用|AI Agent详解(小白/程序员必看):概念、原理+应用+避坑指南
  • 为什么 pyecharts 在 Jupyter Notebook 里显示空白?
  • 2026年AI搜索优化代理加盟公司综合评估与首选推荐 - 2026年企业推荐榜
  • 收藏备用|Java开发者必看!转型大模型/人工智能可行吗?附薪资+学习路线
  • 【毕业设计】基于nodejs的回忆小书屋小程序(源码+文档+远程调试,全bao定制等)
  • win11添加网络凭据
  • 2026年电热风炉/隧道烘烤炉/热风烘烤炉厂家权威推荐:苏州丰上自动化设备有限公司,适配工业烘干、固化、食品加工与连续式产线多场景 - 品牌推荐官
  • 盲人水手Mitsuhiro Iwamoto借助科技,在史无前例的横渡太平洋计划中重新定义可能性边界
  • 【计算机毕业设计案例】nodejs基于微信小程序的书籍销售系统图书商城网上书店基于nodejs的回忆小书屋小程序(程序+文档+讲解+定制)
  • 2026年上海异丙醇厂家推荐:供应链安全趋势评测,涵盖仓储与运输场景核心痛点 - 品牌推荐
  • Nginx 使用自签名 SSL 证书
  • 化学实验室数字化管理:RFID技术如何重塑试剂管理生态
  • 2026年重庆职教中心选择指南 多家优质院校详解 覆盖多专业升学就业需求 - 深度智识库
  • 深入解析:【计算机视觉(12)】神经网络与反向传播基础篇:从线性分类器到多层感知机
  • 聊聊2026年重袋包装机制造商,浙江靠谱品牌大盘点 - 工业品网
  • 国家力推5大“金饭碗”专业,就业率近100%,毕业生抢疯了!
  • 2026年杭州高性价比弹簧钢推荐,靠谱的弹簧钢批发商家排名 - mypinpai
  • 新手必读:轻松掌握Kali Linux核心命令与基础概念,从零基础入门到精通,收藏这一篇就够了!
  • 2026年2月石油石化电力电缆生产厂家推荐:中低压、低压、中压、变频、聚乙烯绝缘、聚氯乙烯绝缘电缆 - 品牌2025
  • C# 异步编程的“三剑客”——Task,async和await
  • 2026年度马鞍山汽车贴车衣费用大揭秘,推荐几家性价比高的店 - 工业推荐榜
  • 2026年2月中国电缆一线品牌推荐:电缆知名品牌、中国电缆十大品牌排名top榜 - 品牌2025