题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 两个数相加=进位+原始位 即a+b = a^b + (a&b)<<1 class Solution { /* a+b = 进位值 + 不进位的和 */ public: int Add(int num1, int ...
分类:
其他好文 时间:
2020-06-15 20:33:43
阅读次数:
42
package club.interview.algorithm.eor; import java.util.Arrays; /** * 异或运算 == 无进位相加 * 1. 找到整数二进制最后一个1的下标位置 {@link EorT#findIndexOne(int)} } * 2. 统计整数二进 ...
分类:
编程语言 时间:
2020-06-13 12:43:18
阅读次数:
48
现代的计算机和依赖计算机的设备里都用到二进制(即0和1)来保存和表示数据,一个二进制表示一个比特(Bit)。 数字在计算机中表现的方式常见的有四种:二进制、八进制、十进制、十六进制。 进制的基础 十进制: 基数:0~9 进位:逢十进一 位权:10的n次方(n从低位到高位从0开始依次增加。) pyth ...
分类:
其他好文 时间:
2020-06-09 20:24:43
阅读次数:
149
[教学目标] 1、认知目标 (1)掌握进位制概念; (2)理解进制的本质; (3)掌握十进制和二进制的相互转换; (4)了解计算机所采用的数制及计算机采用二进制数的原因。 2、技能目标 掌握二进制数和十进制数转换以及运算规则。 3、能力目标 对学生思维能力进行拓展,激发他们探索计算机奥秘的欲望。 [ ...
分类:
其他好文 时间:
2020-06-09 20:22:00
阅读次数:
167
逐位计算 思路: 遍历字符串,逐位加和,用一个变量记录是否产生进位。 class Solution: def addBinary(self, a: str, b: str) -> str: res = '' if len(a)<len(b): a,b = b,a temp = 0 for i in ...
分类:
其他好文 时间:
2020-06-08 19:04:04
阅读次数:
49
双指针 解题思路:算法流程: 设定 i,j 两指针分别指向 num1,num2 尾部,模拟人工加法; 计算进位: 计算 carry = tmp // 10,代表当前位相加是否产生进位;添加当前位: 计算 tmp = n1 + n2 + carry,并将当前位 tmp % 10 添加至 res 头部; ...
分类:
其他好文 时间:
2020-06-04 00:56:08
阅读次数:
72
迭代法,通过位运算实现两数求和bitSum(a,b) 二进制计算时,不考虑进位运算结果为 a^b 考虑进位,计算需要进位的大小: 0 & 0 = 不进位 1 & 0 = 不进位 0 & 1 = 不进位 1 & 1 = 进位 所以进位为:(a&b)<<1; 然后将不考虑进位的异或结果与进位量相加,重复 ...
分类:
其他好文 时间:
2020-06-03 00:19:42
阅读次数:
101
不断更新值和进位。 class Solution { public: int getSum(int a, int b) { return b == 0 ? a : getSum(a ^ b, ((unsigned int)a & b) << 1); } }; ...
分类:
其他好文 时间:
2020-05-30 01:24:53
阅读次数:
70
A+B Problem 题目:使用位运算求a和b的和,两个整数a和b,其中0<=a,b<=100。 分析:a+b=a^b+(a&b)<<1 其中a^b为异或运算,本质上可以看作不进位加法;后面的a&b为与运算,相同位上都为1则结果才为1,其它情况则结果为0,我们只需要将与运算左移一位,则可以看成是进 ...
分类:
编程语言 时间:
2020-05-26 12:33:58
阅读次数:
71
2019年本人在北京师范大学OJ系统上做了一些题目,现在回忆出来(代码不需要回忆,有记录)。 Primary Arithmetic pid=1006 当你在小学学习算数的时候,老师会教你把两个数由右至左按位加起来。很多时候,加法过程中会出现进位。对于一部分孩子,理解这个“进位”在当时是很困难的事情。 ...
分类:
其他好文 时间:
2020-05-24 21:17:28
阅读次数:
81