写一个函数,求两个整数之和,要求在函数体内不得使用+、 、 、/四则运算符号。 class Solution { public: int Add(int num1, int num2) { int sum,carry; while (num2!=0) { int temp = num1^num2; ...
分类:
其他好文 时间:
2019-09-08 00:14:25
阅读次数:
83
题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、×、÷ 四则运算符号。 样例 解法 先对两数进行异或,求得相加不进位的结果。再循环对两数进行按位与运算,并左移一位,直至进位为 0。 详细思路:示例:5+7 先看十进制是如何做的: 三步走 同理我们可以用三步走的方式计算二进制值相加 ...
分类:
其他好文 时间:
2019-08-13 13:47:41
阅读次数:
103
题目描述: 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 测试样例: 输入正数、负数、0 解题思路: 使用位运算 代码: 交换两个值的两种方法: ...
分类:
其他好文 时间:
2019-05-10 13:03:11
阅读次数:
149
"不用加减乘除做加法" 题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、 、 、/四则运算符号。 思路: 当没有进位时, 两个数的二进制和为异或结果, 当有进位时, 对应两者二进制的位为都是1, 此时用与操作, 然后左移一位, 此时该数就是二进制的进位 class Solution ...
分类:
其他好文 时间:
2019-03-09 13:11:31
阅读次数:
170
题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 解题思路 1.两个数异或:相当于每一位相加,而不考虑进位; 2.两个数相与,并左移一位:相当于求得进位; 3.将上述两步的结果相加 public class Solution { public int Add( ...
分类:
其他好文 时间:
2019-03-09 12:55:39
阅读次数:
188
题目 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 思路 二进制中,两个数相加有如下的规律 所以有如下解法: 拓展 不定义新的变量交换两变量的值。 1.基于加法 2.基于异或运算 用这个办法交换2个指针的内容.那么你要先检查2个指针指向的地址是否相同.不然会导致内容 ...
分类:
其他好文 时间:
2019-01-27 19:16:59
阅读次数:
131
题目描述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 思路分析:要实现两个数的加法,但不能使用四则运算,考虑位运算,举例说明如下: 5=101 ,7=111 实现5+7的二进制运算如下过程: (1)首先进行不进位运算,得到101+111=010,这个不进位的相加运 ...
分类:
其他好文 时间:
2019-01-20 22:28:51
阅读次数:
241
题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 提交链接:点击 思路: 代码: 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 提交链接:点击 思路: 代码: ...
分类:
其他好文 时间:
2018-11-10 00:13:30
阅读次数:
195
def add(n,m): while m: summ=n^m carry=(n&m)<<1 m=carry n=summ return n print(add(3,4)) ...
分类:
编程语言 时间:
2018-10-29 16:57:23
阅读次数:
148
题目:写一个函数,求两个整数之和,要求在函数体内不得实用+、-、x、%四则运算符。 接下来我们试着把二进制的加法用位运算来替代。第一步不考虑进位对每一位相加。0加0、1加1的结果都为0,0加1、1加0的结果都是1。我们注意到,这和异或的结果是一样的。对异或而言,0和0、1和1异或的结果是0,而0和1 ...
分类:
其他好文 时间:
2018-06-27 21:00:30
阅读次数:
171