我是靠谱客的博主 霸气舞蹈,最近开发中收集的这篇文章主要介绍不用加减乘除符号的情况下实现加法运算(js代码),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.题目描述
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
2.解题思路
根据按位异或,可得到没有进位的加法结果,关键在于怎么把进位再与得到的结果相加,才可以得到最后的结果。其中进位的情况是两个都为1时,与按位与运算的逻辑结果一致,但进位是与前一位相加,因此需要左移一位。
3.具体的代码实现

function Add(num1, num2)
{
// write code here
//按位异或得到的无进位的加法
//按位与并且左移一位为进位值,进位值不为0时,则一直循环执行加法。
var sum=0;
while(num2!=0){
sum=num1^num2;
var c=(num1&num2)<<1;//左移一位相当于乘以2,相当于都为1 的对位,进位进到高1位的位置。
num2=c;
num1=sum;
//本次得到的进位与不进位结果作为下一次的num2与num1进行下一次计算。
}
if(num2==0){
sum=num1;
}
//num2=0时代表进位为0.
return sum;
}

运行时间:15ms
占用内存:8796k

有更好的算法,欢迎交流!

最后

以上就是霸气舞蹈为你收集整理的不用加减乘除符号的情况下实现加法运算(js代码)的全部内容,希望文章能够帮你解决不用加减乘除符号的情况下实现加法运算(js代码)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部