不用加减乘除做加法

65. 不用加减乘除做加法【难】 观察可以发现,“不进位的和”与“异或运算”有相同规律,而进位则与“与”运算规律相同,并且需要左移一位。写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。 阅读详情

题目描述

写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。

  1. 异或运算:相当于无进位加法
  2. 与运算,再左移一位:相当于进位
class Solution {
public:
    int Add(int num1, int num2)
    {
        while(num2)
        {
            int sum = num1^num2;
            int jin = (num1&num2)<<1;
            num1 = sum;
            num2 = jin;
        }
        return num1;
    }
};

 

ComfyUI新手必看:JoyCaption 2插件安装全流程(附百度网盘资源) 本文为ComfyUI新手提供了JoyCaption 2插件的完整安装与部署指南。详细介绍了从环境准备、插件获取、模型文件配置到核心节点使用的全流程,并重点解析了其集成的LLM反推模式,帮助用户高效实现从图片到精准提示词的转换。 阅读详情

相关推荐

AI工程化之生成式UI & A2UI(二)

本文介绍了生成式UI框架A2UI的架构设计与核心实现。项目采用AI协作开发模式,通过ATDD(AI驱动的测试驱动开发)确保代码质量。前端SDK基于zustand实现框架无关的状态管理,包含协议解析器、存储管理、渲染器等核心模块。重点展示了基础store构建、A2UI协议解析器的实现过程,包括mock数据准备、测试用例生成和可视化调试。项目采用monorepo管理,利用vite实现高效开发构建。整个系统设计遵循模块化原则,通过清晰的接口定义实现各组件解耦,为后续功能扩展打下基础。

qq_34306228的博客 407

不用加减乘除实现加法

一.不用加减乘除实现加法 题目:实现一个函数,求两个数的和,但是要求在函数内不得使用+ - * /四个运算符。 解题思路:不得使用四则运算符,我们只能考虑用位运算符。 首先,我们先分析一般的加法是怎样去处理的:(假设求17+5) 1.先求各个位上的加法值(先不算进位),1+0=1,7+5=2,既12 2.找出进位的数7+5=12存在进位,进位是10 3.将前两步的值相加12+10=22,...

HanSion.Z 2838

拆解大疆M300电池BMS:基于TI TIDA-010030方案的硬件架构深度分析

本文深度解析了大疆M300无人机电池管理系统(BMS)基于TI TIDA-010030参考设计的硬件架构。通过对比TI方案与大疆实现的差异,详细介绍了BQ7694003监控前端和BQ34Z100电量计的优化设计,以及通信架构的可靠性改进。文章还揭示了大疆在成本、空间和标准化方面的工程妥协与创新平衡,为锂电池保护方案提供了实践参考。

weixin_27066963的博客 240

Java不用加减乘除做加法(图文详解)

实现不考虑进位的相加,即 1 + 1 = 0,0 + 0 = 0,1 + 0 = 1,此时1111 + 1001 = 0110。当出现1 + 1时,产生进位,我们可以通过两个数按位与找到这些存在进位的数,再将其向左移动1位,实现进位。2.找出进位的数 5 + 6 = 11,存在进位,进位是100,9 + 7 = 16存在进位,进位是10。二进制满2进位,即1 + 1 = 10,此时不考虑进位,因此,可以通过。百位:1 + 1 = 2,十位:5 + 6 = 1,个位:9 + 7 = 6,即216。

2301_76161469的博客 428

基于立创开源ESP32步进电机驱动板硬件设计与优化实践

本文详细介绍了基于立创开源平台的ESP32步进电机驱动板硬件设计与优化实践。重点解析了ESP32-PICO-D4与A4950驱动芯片的选型搭配、电源电路噪声隔离、PCB布局布线技巧以及保护电路设计,为开发者提供了从原理图到PCB的完整优化方案,有效提升驱动板的性能与稳定性。

7z8x2c4v6b9的博客 649

海康工业相机触发模式详解:软触发 vs 外触发,在C#里如何选与用?

本文深入解析海康工业相机的软触发与外触发模式,详细比较两者的特性差异、适用场景及C#实现方法。通过海康SDK配置指南和实战代码示例,帮助开发者掌握工业相机触发模式的选择与优化技巧,提升自动化检测系统的精确性和可靠性。

weixin_42635064的博客 556

leetcode算法学习(13)——不用加减乘除做加法

不用加减乘除做加法位运算(&、|、^、~、>>、<<)1.位运算概述2.位运算概览3.按位与运算符(&)#4.按位或运算符(|)5.异或运算符(^)6.取反运算符 (~)7.左移运算符(<<)8.右移运算符(>>)10.复合赋值运算符不用加减乘除做加法题目描述思路代码 位运算(&、|、^、~、>>、<<) 1.位运算概述 从现代计算机中所有的数据二进制的形式存储在设备中。即0、1两种状态,计算机对二进制数据进行的

qq_41230076的博客 869

Hi3516CV610开发板ISP调优实战——从在线调试到参数固化部署全流程

本文详细介绍了Hi3516CV610开发板ISP参数从在线调试到固化部署的全流程。针对调试参数重启丢失的痛点,重点解析了如何从PQTools安全导出参数、进行格式转换与适配,并通过烧录工具或系统更新两种路径将参数永久固化至Flash。最后提供了双重验证与常见问题排查方法,确保调优效果在产品中稳定生效。

weixin_29169505的博客 427

图解LeetCode——剑指 Offer 65. 不用加减乘除做加法

下面我们还是按照惯例,举个例子来看一下具体的处理过程,为了方便画图,下面没有画出循环执行所有操作的步骤,因为重点其实就是。写作不易,笔者几个小时甚至数天完成的一篇文章,只愿换来您几秒钟的。明确了上面的解题思路之后,我们其实就循环的执行以上两个步骤即可,,循环执行这两步骤,大家脑补一下就可以了。,我们就可以考虑按位操作来满足计算。写一个函数,求两个整数之和,要求在函数体内。的相加操作,但是不要忘记,里面。既然执行两个数的加法操作,而。问题,以下图为例,我们执行。,执行进位操作,即:第。

爪哇缪斯的博客 341

飞行机械臂设计

其后对飞行机械臂系统的机 理模型和基于 ADAMS 的物理模型进行了控制系统的搭建,对于机理模 型,设计了三个输入通道,分别是俯仰力矩,翻滚力矩与偏航力矩,控 制量为翻滚角,俯仰角,偏航角。四旋翼无人机自身具有独特的优势,在无人机上增加机械臂,整个 机体系统相当于一架空中行动自如的空中机器人,可以适应更多的应用场合,能够实现空中抓取,运输载荷,巡航监视等任务。的函数模块如图 4-8 所示,可见输入为 U1,U2,U3,U4,分别对应总力矩,俯仰力矩,翻滚力矩,偏航力矩,控制 量为俯仰角,翻滚角,偏航角。

coldmood77的博客 2919

Android UI 组件系列(二):Button 进阶用法

在这篇博客中,我们深入探讨了 Button 的进阶用法,重点介绍了如何通过 事件处理 来响应用户的操作,如何使用 自定义样式 来提升按钮的外观,并利用 StateListDrawable 来管理按钮在不同状态下的表现。这些技巧能够帮助你打造更具交互性、视觉吸引力和动态响应的按钮,提升用户体验。

weixin_39339407的博客 1625

Leetcode剑指 Offer 65. 不用加减乘除做加法

题目链接:剑指 Offer 65. 不用加减乘除做加法 这位大佬的题解很详细:转载题解

机智的大气的晓晓 212

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

牛客题解 | 不用加减乘除做加法

牛客题库题解

wc529065的博客 374

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

[剑指offer]-不用加减乘除做加法

题目:不用加减乘除做加法 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 解析:   首先看十进制是如何做的: 5+7=12,三步走 第一步:相加各位的值,不算进位,得到2。 第二步:计算进位值,得到10. 如果这一步的进位值为0,那么第一步得到的值就是最终结果。 第三步:重复上述两步,只是相加的值变成上述两步的得到的结果2和10,得到12。   同样...

yuemingyang7010的博客 202

剑指offer-不用加减乘除做加法

42.不用加减乘除做加法 题目内容: 代码及思路: 如果不使用四则运算符号,那么可以尝试使用位运算,对两个整数进行求和。那么在位运算中1加0,0加1都为1,而0加0,1加1都为0,那么实际效果与异或的结果相同。即0与1,1与0异或都为1,0与0,1与1异或都为0.因此可以用异或来表征位运算,除此之外,对于进位操作,只有1加1时才会产生进位,所以可以对两个数进行与操作然后在左移一位,因为只...

larklili的博客 153

Offer 65. 不用加减乘除做加法(简单)

Offer 65. 不用加减乘除做加法 # 补码=原码取反+1 时间复杂度 O(1) 空间复杂度 O(1) # 补码=原码取反+1 ''' a:3 0000 0011 b:-8 1111 1000 无进位和 1111 1011 进位 0000 0000 a+b 转化为 无进位和 和 进位 的和 ''' def add(a, b): if b == 0: return a return add(a ^ b, (.

棉花糖的博客 99

[剑指Offer]-不用加减乘除做加法

题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 本题属于思维题 解题思路 java中自带BigInteger类,可以把int数值转为String类型; 然后使用BigInteger的 public BigInteger(String val)构造方法new出BigInteger对象;调用BigInteger的add方法,然后把结果转为int类型。。...

LeoByte的编程驿站 2588

【牛客题解】 ——不用加减乘除做加法

不用加减乘除做加法 思路1:第一步首先对两个数做异或操作(相同为0,不同为1),第二步计算进位,如果有进位,那就左移一位,和第一步所得的数继续做异或操作,直至进位为0; class Solution { public: int Add(int num1, int num2) { int temp; while(num2) { ...

Vicky_Cr的博客 272

不用加减乘除做加法运算

不用加减乘除法,只能用位运算来代替做加法了。第一步:不考虑进位,0加0与 1加1的结果都0,0加1与1加0的结果都是1。我们可以注意到,这和异或的结果是一样的。第二部:只考虑运算进位,对0加0、0加1、1加0而言,都不会产生进位,只有1加1时,会向前产生一个进位。此时我们可以想象成是两个数先做位与运算,然后再向左移动一位。只有两个数都是1的时候,位与得到的结果是1,其余都是0。第三部:把前两个步骤

MonkeyCoder的专栏 1503
上一篇: 264. Ugly Number II
下一篇: 1+2+····+n
云水谣CS
博客等级 码龄9年 8粉丝 268原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值