【剑指offer专项】2. 二进制加法

本文总结了二进制加法的主要知识点,包括字符串操作、ASCII码转换、字符与整数间的转换以及如何实现二进制加法。通过比较官方教程的方法,了解到更简洁的计算方式,即通过`(carry + ai + bi) % 2`获取当前位值,`(carry + ai + bi) / 2`确定下一位进位。这篇博客适合编程初学者和进阶者提升算法理解。
摘要由CSDN通过智能技术生成

二进制加法刷题总结

知识点总结

主要使用的知识点:

  1. string字符的提取方法,string[i]或者string.at(i).返回的都是char类型。同时i不能超出长度。
  2. 对于char cc[4]字符串,总是以空字符结尾,所以cc只能存3个字符。
  3. char 和ascii码直接对应,char ‘0’= int 48;且计算机会隐式转换。
  4. string转int需要使用 atoi(str.c_str())两个函数。拓展:int转string采用函数to_string();
  5. reverse(str.begin(),str.end())的使用,不返回数据,直接对str进行操作。

官方教程值得学习的点:

  1. 用max() 就可以直接取最大值而不是采用三目。
  2. 我采用的是每一位答案 判断carry+ai+bi 再确定这一位的值和下一位的进位值;
  3. 而官方采用的是 找到(carry+ai+bi)%2等于这一位值,(carry+ai+bi)/2等于下一位进位值的关系。写出来的程序更加简洁。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值