找回密码
 加入
搜索
查看: 1270|回复: 3

用计算机的方法计算两个数字的和

[复制链接]
发表于 2020-11-7 22:44:19 | 显示全部楼层 |阅读模式
无聊吧。。。
其实,和差都是一样的。
计算机就是用这个思路实现的和的计算。
Func _Sum($a, $b)
        $Ret = BitXOR($a, $b)
        Local $at = 0, $bt = 0
        While BitAND($a, $b)
                $at = BitXOR($a, $b)
                $bt = BitShift(BitAND($a, $b), -1)
                $a = $at
                $b = $bt
                $Ret = BitXOR($a, $b)
        WEnd
        Return $Ret
EndFunc   ;==>_Sum

评分

参与人数 1金钱 +20 收起 理由
itzyx + 20 赞一个!

查看全部评分

发表于 2020-11-7 22:58:52 | 显示全部楼层
阿杰对位的运算烂熟于心啊

评分

参与人数 1金钱 +99 收起 理由
haijie1223 + 99 学而时习之

查看全部评分

发表于 2020-11-8 12:08:21 | 显示全部楼层
好棒!增加对运算的理解!学习
发表于 2020-11-8 17:05:38 | 显示全部楼层
chzj589 发表于 2020-11-8 12:08
好棒!增加对运算的理解!学习


$c= 8500
$d = 99
$stra=$c&" : "&$d
MsgBox(0, $stra,"数字的和 ="&  _Sum($c, $d)& @CRLF &"数字的差 ="&_Suma($c, $d))
;计算机的方法计算两个数字的和
;计算机就是用这个思路实现的和的计算。
Func _Sum($a, $b)
        $Ret = BitXOR(0, $a+$b)
        Return $Ret
EndFunc   ;==>_Sum
Func _Suma($a, $b)
        $Ret = BitXOR(0, $a-$b)
        Return $Ret
EndFunc   ;==>_Suma


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-20 09:30 , Processed in 0.075264 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表