网站首页 > 文章精选 正文
题目要求如图
思考
不能使用四则运算,根据过往的学习经历,我唯一能想到的就是位操作符和移位操作符?
例:使用位操作符进行int变量交换
位操作符的使用
先来回顾一下这位操作符的作用
位操作符操作的是整形的二进制位,它的操作数是2,?比较两个整形的二进制位?
(1)&按位与:对应的二进制 全为1才是1,否则0
(2)|按位置或:对应的二进制 有1为1,全为0才为0
(3)^按位异或:相同为0,不同为1
比较一下正常的二进制相加和按位异或,发现按位异或是没有进位的相加
原本应该是010,但是按位异或后是000
1+1需要进位的1并没有进到下一位里去
而使用??按位与??操作符,我们可以得到这两个数相加需不需要进位
这时候将按位与之后的结果和按位相加,就是我们的答案了
但是题目要求?不能使用加减法?
a.再将按位与的结果??0 1 0???与 按位异或结果??0 0 0??进行?按位与?
b.得到??0 0 0??,代表无需进位
c.这时候将??0 1 0???与??0 0 0???进行按位异或,即得出相加后的结果??0 1 0??
这个例子比较简单,我们可以再用复杂一点的例子再证明它的可行性
??3???:0011和??5??:0101
根据这个思路,我们成功地完成了3和5的相加
代码实现
本题是??接口型??题目,我们只需要完成一个函数,实现相加的功能
不过我们可以自己写一个主函数来测试它的可行性
如图,?函数正确算出了两个数的和?
如果这篇博客帮到了你,还请点个赞啦~
-----------------------------------
为了帮助大家,轻松,高效学习C语言/C++,给大家分享我收集的资源,从最零基础开始的,帮助大家在学习C语言的道路上披荆斩棘!
编程学习书籍分享:
编程学习视频分享:
整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)
对于C/C++感兴趣可以关注小编在后台私信我:【编程交流】一起来学习哦!可以领取一些C/C++的项目学习视频资料哦!已经设置好了关键词自动回复,自动领取就好了!
- 上一篇: 互联网校招网站 互联网校招信息
- 下一篇: 每当我C++学习不下去的时候,我就会打开这14个网站
猜你喜欢
- 2024-12-25 每日SQL自学知识点(第十天)—关于提取时间简单做法,一题多解
- 2024-12-25 2023级网络安全岗面试题及面试经验分享
- 2024-12-25 这么厉害的练习程序的软件还有人不知道?
- 2024-12-25 23年程序员走出第一步Java面试八股文整理成了PDF合集
- 2024-12-25 「数据结构」什么是哈希表?为什么哈希表的查询时间复杂度是O
- 2024-12-25 经典算法:无序数组寻找第K大的数值
- 2024-12-25 细数这几个月来我一应届生在找工作方面的发现以及坑
- 2024-12-25 经典算法:大数乘法的分析与实现 大数乘大数巧算法
- 2024-12-25 大厂面试:一个四年多经验程序员的BAT面经(字节、阿里、腾讯)
- 2024-12-25 牛客网获 1000 万元Pre-A 轮融资,开始探索 C 端教育模式
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 稳压管的稳压区是工作在什么区 (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)