引言 一般这种不能用四则运算的题都只有用位运算来做,目的是加强大家对计算机计算的理解,真是有点扯淡呢 解决问题 首先我们得思考计算机是怎样做加法的呢,比如3加4,如果转换成二进制是0011和0100,加起来是7,也就是0111,相当于是两个二进制的异或运算 但是我们再举一个例子就是4加4,会发现,两...
分类:
编程语言 时间:
2015-05-03 20:32:22
阅读次数:
154
先将两个数按二进制规则不考虑进位,直接相加,相当于按位异或 然后计算进位,相当于按位与 然后当不存在进位的时候计算完成 如果存在进位那么将进位和没有算进位的sum再继续计算 package add47; public class Add47 { static int add(int n1,int n...
分类:
其他好文 时间:
2015-03-30 17:53:21
阅读次数:
106
题目描述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。输入:输入可能包含多个测试样例。对于每个测试案例,输入为两个整数m和n(1 2 3 int add(int a, int b) { 4 int n1, n2; 5 do { 6 ...
分类:
其他好文 时间:
2015-01-21 14:54:16
阅读次数:
211
题目1507:不用加减乘除做加法
时间限制:1 秒内存限制:128 兆特殊判题:否提交:782解决:581
题目描述:
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
输入:
输入可能包含多个测试样例。
对于每个测试案例,输入为两个整数m和n(1<=m,n<=1000000)。
输出:
对应每个测试案例,输出m+n的值。
样例输入:
3 4
7 9
样例输出:
7
...
分类:
其他好文 时间:
2014-12-12 16:46:52
阅读次数:
175
不用加减乘除做加法 代码(C)本文地址:http://blog.csdn.net/caroline_wendy题目: 写一个函数, 求两个整数之和, 要求在函数体内不得使用+, -, *, /四则运算符号.不能使用运算符号, 使用位运算, 第一步异或运算选位, 第二步与运算进位.代码:/* * ma...
分类:
其他好文 时间:
2014-09-22 14:55:22
阅读次数:
224
这个题目在剑指offer上有,在此做个记录。int add(int num1, int num2){ int sum,carry; do{ sum=num1^num2; carry=(num1&num2)<<1; num1=sum; ...
分类:
其他好文 时间:
2014-09-16 14:06:50
阅读次数:
123
转载请注明出处:http://blog.csdn.net/ns_code/article/details/27966641题目描写叙述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。输入:输入可能包括多个測试例子。对于每一个測试案例,输入为两个整数m和n(1int A...
分类:
其他好文 时间:
2014-08-23 09:58:50
阅读次数:
153
题目描述:
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
输入:
输入可能包含多个测试样例。
对于每个测试案例,输入为两个整数m和n(1
输出:
对应每个测试案例,输出m+n的值。
样例输入:
3 4
7 9
样例输出:
7
16
代码:
思路:
1.先将两个数字异或得到...
分类:
其他好文 时间:
2014-08-17 14:22:22
阅读次数:
164
问题描写叙述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。算法描写叙述从二进制运算入手,1.a^b求出各bit的和,2.a&b求出须要进位的bits,3<<1(左移位)再与a^b求和,4.反复1、2、3直至a&b==0(即进位为0),得到结果。代码int addThr...
分类:
其他好文 时间:
2014-08-09 15:33:38
阅读次数:
188
很容易想到为二进制的与或非。
加法分为三步:
1 各位相加不进位 0 + 0 =0, 0+1 = 1,1+0=1,1+1=1,很明显是异或运算
2 进位 1+1 =10进位,其余均不进位 ,进行左移动一位
3 一直循环
代码:
#include
using namespace std;
int sum(int data1,int data2){
int sum,carry;
...
分类:
其他好文 时间:
2014-08-07 19:02:00
阅读次数:
196