题目链接:不用加减乘除做加法 题意:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 题解:计组里面有一个加法器。。用异或和与即可完成加法操作。异或求加法,与计算进位。 第一步:异或相加;第二步:计算进位值,位与;第三步,重复以上两步。 举例: 7 + 4 = 11 1 ...
分类:
其他好文 时间:
2020-03-05 01:14:16
阅读次数:
73
Q:写一个函数,求两个整数之和,要求在函数体内不得使用+、 、 、/四则运算符号。 T: 1.使用进制。 两个数异或:相当于每一位相加,而不考虑进位; 两个数相与,并左移一位:相当于求得进位; 将上述两步的结果相加 首先看十进制是如何做的: 5+7=12,三步走 第一步:相加各位的值,不算进位,得到 ...
分类:
其他好文 时间:
2020-02-22 19:53:43
阅读次数:
61
38 数字在排序数组中出现的次数 39 二叉树的深度 40 数组中只出现一次的数字 41 和为s的两个数字 VS 和为s的连续正数序列 42 反转单词顺序 VS 左旋转字符串 43 n个骰子的点数 44 扑克牌的顺子 45 圆圈中最后剩下的数字 46 求1+2+...+n 47 不用加减乘除做加法 ...
分类:
其他好文 时间:
2020-02-19 22:28:03
阅读次数:
88
用位运算模拟加法,num1+num2的加法结果可以分为两个部分,一部分为二进制位加法产生了进位的结果,另一部分是二进制位加法没产生进位的结果。 比如3+5,二进制011+101,产生进位的结果为最后一位1+1,进到倒数第二位,结果为010。没产生进位的是第1位0+1和第二位1+0,结果110。 1 ...
分类:
其他好文 时间:
2020-02-11 10:01:40
阅读次数:
87
面试题65:不用加减乘除做加法 题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、×、÷四则运算符号。 问题分析 我们之前详细探讨了位运算 "剑指Offer对答如流系列 二进制中 1 的个数" ,已经非常非常详细了。 这道题仅仅是让做加法,我们除此之外还是做了乘除与减法。 记不清的 ...
分类:
其他好文 时间:
2020-02-01 19:18:32
阅读次数:
74
/* 题目: 在不使用加减乘除的前提下,计算两个整数之和。 思路: 不能使用加减乘除则只能考虑位运算。 x=num1^num2,则为抹掉进位的结果。 y=num1&num2,为只有进位的结果。 (y<<1)&x,直到不产生进位。 */ #include<iostream> #include<cstr ...
分类:
其他好文 时间:
2020-01-02 20:52:56
阅读次数:
111
1 /* 异或运算代表不进位的加法 2 与右移代表进位 3 一直相加直到进位为0为止 4 */ 5 class Solution { 6 public: 7 int Add(int num1, int num2) 8 { 9 while(num2 != 0){ 10 int sum = num1 ^ ...
分类:
其他好文 时间:
2020-01-02 20:46:52
阅读次数:
60
题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 java public class Solution { public int Add(int num1,int num2) { while (num2!=0) { int temp = num1^num2; ...
分类:
编程语言 时间:
2019-12-27 20:25:51
阅读次数:
94
参考:https://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html 《原码,反码,补码 详解》 题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 解题思路 不能使用加减乘除,我的 ...
分类:
其他好文 时间:
2019-12-19 19:35:51
阅读次数:
80
题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。分析:看到这种题目,就知道应该采用位运算两个数异或,相当于这两个数的每一位相加,但是不考虑进位两个数相与,并且左移一位,相当于求得进位然后将上面两步的结果相加,就是结果int Add(int a, int b){ ... ...
分类:
其他好文 时间:
2019-09-26 12:08:39
阅读次数:
95