三种方式实现二进制进位

本文介绍了三种实现二进制进位的方法:vector动态数组存储法、bitset存储法和bitset重复定义法。针对不同的进位需求,分别阐述了每种方法的思路和优缺点,其中vector法能动态调整大小,而bitset法简化了代码但无法按需调整大小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要求:

      输入一个数字n表示进位次数。程序应当输出一个初始值为0的二进制数每次进位的结果,每个输出结果占一行。(注意:二进制是从右往左进位的)

      注:本题对输出格式无要求,前面补几个0随意,答案正确即可

输入样例:

5

输出样例:

0000001
0000010
0000011
0000100
0000101

方法一:vector动态数组存储法

这个方法是由普通数组存储改进而来,优点是可以根据输入的进位次数调整数组的大小

思路:根据进位次数多少计算最大二进制数一共有几位,以此来设置数组b的长度;每次进位都使b最后一位+1,然后遍历数组,判断是否大于1(大于1那就是2喽),有的话就把那一位归0,下一位+1,接着继续判断࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值