不使用加法运算符将两个数相加 [英] Adding two numbers without using the addition operator

查看:53
本文介绍了不使用加法运算符将两个数相加的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在c〜中为1的补码运算符.这等效于:〜a = -b +1因此,a-〜b -1= a-(-b + 1)+1= a + b – 1 + 1= a + b

In c ~ is 1's complement operator. This is equivalent to: ~a = -b + 1 So, a - ~b -1 = a-(-b + 1) + 1 = a + b – 1 + 1 = a + b

有人可以向我解释吗?

推荐答案

从我们知道的小学数学开始

From elementary school math we know

a = -(-a);

从二进制补码我们知道

-a = (~a) + 1  (invert and add one)

所以我们知道

a + b 
= a - (-b)      elementary math
= a - (~b + 1)  twos complement
= a - (~b) - 1   distribute the negative (elementary math)

这篇关于不使用加法运算符将两个数相加的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆