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

老题新解|十进制转二进制

《信息学奥赛一本通》第160题:十进制转二进制

题目描述
给定一个十进制整数 nnn,请将其转换为对应的二进制表示,并输出。
输入格式
输入包含一行,一个整数 nnn
输出格式
输出一行,表示整数 nnn 的二进制表示(不含前导零)。
输入输出样例 #1
输入 #1
10
输出 #1
1010
说明/提示
nnn 保证在 int 类型范围内,即 0≤n≤231−10 \leq n \leq 2^{31}-10n2311
输出时不允许有前导零。
数据范围
0≤n≤231−10 \leq n \leq 2^{31}-10n2311
提示:n=0n = 0n=0 的情况需要特殊考虑。

大家好,我是莫小特。
这篇文章给大家带来《信息学奥赛一本通》中的第 160 题:十进制转二进制

image.png

一、题目描述

洛谷的题号是:B2161 十进制转二进制

image.png

二、题意分析

这道题是信息学奥赛一本通练习题的第 160 题。

根据输入格式的描述,输入一个整数 n,数据范围:0≤n≤231−10 \leq n \leq 2^{31}-10n2311,所以使用 int 类型。

int n;
cin>>n;

输入完成后,我们根据题目意思完成,题目要求我们将输入的十进制数转换为对应的二进制数并输出。

根据二进制的转换规则,需要对输入的数据进行求 2 的余数处理,也就是将余数存储起来,最后倒序输出即可。

使用 while 循环对输入的 n 进行处理,并且还需要建立一个 int 类型的数字,数组元素个数先初始化为 2000,数组下标从 1 开始,所以定义一个变量,初始值为 1。

int a[2000]={0};//初始值为0
int k=1;
while(n!=0)//求到尽头是n==0
{a[k]=n%2;//存储余数n/=2;k++;//下标变化	
}

最后输出 a 数组即可,注意要倒序输出,从 k-1 开始到 1。

for(int i=k-1;i>=1;i--)
{cout<<a[i];
}

按照样例输入对数据进行验证。

image.png

符合样例输出,到网站提交测评。

image.png

有一个错误,注意到提示:n=0 的情况需要特殊考虑。

所以特殊做一个判断。

if(n==0)
{cout<<0;return 0;
}

其他情况就正常输出即可,即加上 else,再次尝试。

image.png

测试通过!

三、完整代码

该题的完整代码如下:


四、总结

本题考察了 进制转换与数组倒序输出 的基本操作,主要涵盖以下知识点:

1、十进制转二进制的算法原理:不断对 2 取余并整除 2。
2、数组或字符串的逆序输出技巧:先存储再倒序输出。
3、特殊输入处理:当 n=0 时需单独输出“0”,否则结果为空。

知识点总结

(1)利用 %2 获取当前位的二进制值,利用 /2 逐步缩小 n,实现除二取余法。

(2)数组下标的使用要注意从 1 开始存储余数,最后从 k-1 递减输出。

(3)特殊值 n=0 是常见边界测试点,需要单独判断,否则不会输出任何内容。

常见易错点

(1)忘记处理 n=0 的情况,导致输出为空。

(2)输出顺序写反(从前往后输出),会得到错误的二进制结果。

(3)数组越界或下标起始错误(如从 0 开始)可能导致最后一位缺失。

(4)输出结果时不应出现前导零。

解题建议

(1)建议先用手算几组数据,理解“除二取余、反向输出”的逻辑。

(2)提交前务必检查 n=0 的边界输入是否正确处理。

---end---

如果你觉得这篇文章对你有帮助,欢迎点赞、收藏、关注我哦!
如果有更好的方法也可以在评论区评论哦,我都会看哒~

我们下集见~

http://www.dtcms.com/a/453175.html

相关文章:

  • 数字信号处理 第八章(多采样率数字信号处理)
  • 网站制作农业免费封面设计在线制作生成
  • 多线程:三大集合类
  • html css js网页制作成品——化妆品html+css+js (7页)附源码
  • OpenAI战略转型深度解析:从模型提供商到全栈生态构建者的野望
  • 怎么做网站自动采集数据hao123设为主页官网下载
  • 重庆孝爱之家网站建设网站单页设计
  • 13、Linux 基本权限
  • k8s-ingress控制器
  • 【AI】深入 LangChain 生态:核心包架构解析
  • CodeBuddy Code + 腾讯混元打造“AI识菜通“
  • 记录踩过的坑-金蝶云·苍穹平台-杂七杂八
  • 【嵌入式原理系列-第11篇】半导体电子传输与PN结工作原理浅析
  • 磁力链接 网站怎么做的做网站多少钱西宁君博专注
  • 苹果RL4HS框架的技术原理
  • 在哪网站开发软件发视频的网址网址是什么?
  • 第74篇:AI+教育:个性化学习、智能辅导与虚拟教师
  • 2025 AI 落地元年:从技术突破到行业重构的实践图景
  • 《每日AI-人工智能-编程日报》--2025年10月7日
  • 公司销售泄密公司资料如何管控?信企卫文件加密软件深度分析
  • .NET+AI: (微家的AI开发框架)什么是内核记忆(Kernel Memory)?
  • 版本控制器 git(2)--- git 基本操作
  • 数字信号处理 第六章(IIR数字滤波器设计)
  • 辽宁专业网页设计免费建站正规seo服务商
  • 西安将军山网站建设wordpress评论模板怎么改
  • 抽象类定义
  • 基于sprigboot的农贸市场摊位管理系统(源码+论文+部署+安装)
  • 基于Flink的AB测试系统实现:从理论到生产实践
  • 开源 C++ QT QML 开发(八)自定义控件--圆环
  • CTF攻防世界WEB精选基础入门:backup