游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

算法如何用位运算实现加减运算?

  前言
  本文主要介绍如何使用位运算来实现加减功能,也就是在整个运算过程中不能出现加减符号。
  加减乘除运算在计算机中,实际上都是用位运算实现的,今天就用位运算来模拟下加法和减法的运算功能。思路分析
  先分析如何用位运算实现加法运算。示例
  假设a23,b36,使用位运算实现加法得到结果59。
  首先来看下23、36、59的二进制信息。
  从上面的图中可以看到,两个数相加的结果与两个数异或的结果很相似,只不过在图中的2位置相加的时候,产生了进位,而异或是没有进位的,如果能拿到进位信息,把两个数异或的结果和进位信息的结果相加就能得到最终结果了,那么如果能拿到进位信息呢?位运算进位
  上图中,59的二进制信息可以分为两部分,0110011和0001000,再结合23、36的二进制信息来看,0110011为23和36的异或结果,而23和36相与的结果跟0001000很相似,只不过0001000中的1比相与结果往前移了一位。
  于是,我们可以得出,两个数的二进制进位信息为两个数的相与在左移一位。初步结果
  经过上面的分析,我们可以得到了一个初步的运算结果,即两个数相加等于两个数异或加上两个数的相与左移1位,也就是ab(ab)((ab)1)。
  先用23和36来验证下。
  经过验证可以看到,刚才得出的结论是正确的。
  但是,我们要做到在整个运算过程中不能出现加号,接下来要想办法把这个加号给去掉。去除加号
  还是以23和36为例,经过上面的运算我们把运算的位运算结果给化简下。
  2336(2336)((2336)1)518
  也就是把23和36的相加运算转化为了51和8的相加运算,接下来继续分析51和8的相加运算,也是通过异或和相与进行操作。
  518(518)((518)1)590
  嗯?可以发现我们已经得出59了,而且还加了个0,加了个0不就相当于加了个寂寞嘛,可以直接省略啊。
  由此,我们又可以得出一个结论,两个数的二进制进位信息为两个数的相与在左移一位,不停地循环这个过程,直到有一个数变为0,就能得到结果。整体思路
  现在来总结下整体的计算过程:把两个数相加,拆分成两步,两个数异或加上两个数相与左移1位。判断相与左移的结果是否为0。如果相与左移为0,两个数异或的结果即为相加的结果。如果相与左移结果不为0,把得到的新结果,重复执行第13步操作。加法代码实现
  经过上面的分析,来看下代码实现。publicclassCode19Add{publicstaticintadd(inta,intb){intsum0;while(b!0){sumab;b(ab)1;asum;}returnsum;}publicstaticvoidmain(String〔〕args){intsumadd(23,36);System。out。println(sum);}}复制代码
  运行程序,输出结果为59。减法实现减法分析
  还是以23和36为例,如果要计算3623,该怎么办?
  3623不就相当于36(23),可以理解为加上一个负数,这就可以了吗?不不不,要求的是不能出现加减符号,23里面是有减法这个符号的。
  还记得前面我们分析的负数可以怎么表示吗?对了,负数是对一个数的取反再加1。嗯?又出现加号了,不过加法我们不是已经实现了吗?直接拿来用就好了。减法代码实现
  有了加法操作,减法就很简单了,来看下代码。publicclassCode20Sub{publicstaticintadd(inta,intb){intsum0;while(b!0){sumab;b(ab)1;asum;}returnsum;}publicstaticintsub(inta,intb){returnadd(a,add(b,1));}publicstaticvoidmain(String〔〕args){intsumsub(36,23);System。out。println(sum);}}复制代码
  运行一下输出结果为13。
  嗯,Perfect!
  总结
  本文主要介绍如何使用位运算来实现加减功能,至此功能都已经实现了。
  那么问题来了,我们实现的加减运算与Java本身的加减相比,谁的效率更高呢?当然是Java中的更高了,因为我们是用Java实现的,代码运行后,要经过层层的翻译才能到达底层,所以效率肯定是有损失的。
  当然我们的目的是熟悉位运算的操作,这个才是最重要的。
  原文链接:https:juejin。cnpost7183115929226575928

从个人行为到变成生意经,现在北海从银滩西到银滩东都搭起帐篷来自从去年五月份兴起的帐篷热后,估计有不少的北海人都买了顶帐篷,周末节假日和家人一起到户外搭帐篷,搞野外聚餐等。搭帐篷,原本只是大家旅游的一种新方式。但是时至今日,在北海,搭帐篷……星越LHi。P只要24万,问界你怎么好意思卖那么贵以往新能源市场可大致分成两个阵营,蔚小理新势力和吉利,比亚迪老牌车企。但不知道从什么时候开始,新能源市场出现了一种新模式,跨界造车,即手机,互联网,通讯企业与传统车企跨界合作,……当年苏联为什么大方的给了哈萨克斯坦大片领土?苏联尚未解体之前,对于国家领土这个问题,是看得极为重要的,有人用噬土成性来形容它。可是,这样一个视领土为生命的国家,竟然眼睁睁看着哈萨克斯坦占去了大片的土地,对此还没有一点办法……1949年,他设计的五星红旗当选为国旗,毛主席盛赞就是要大团1949年8月,新中国成立前夕,一系列建国准备工作都在紧锣密鼓进行中,其中国旗、国歌、国徽等工作备受瞩目,它们是一个国家的标志和象征,容不得半点马虎,牵动着国人的心。当时……为了逃亡的孩子们,让某某康给孩子多些关爱,抵制苹果手机以前在网上看到苹果的一篇报道,是这样写的:苹果官方宣布,暂停在俄罗斯销售所有苹果产品,并且关闭俄罗斯境内苹果产品的部分功能服务,以回应俄罗斯对乌克兰的军事行动。也就是说,俄罗斯……为什么秦始皇最早打算定都洛阳?因为他没有软实力,虽然武力取胜,确十年而亡,缺少文化底蕴。定都洛阳不光是武力,需要的是软实力。什么是软实力?比如外来入侵成王,最后反而被同化。这就是中华文化,也是实现中国梦的文……1955年军衔初评时,有11元帅和22大将,分别是谁?评定标1953年,中央军委计划实施军衔制度,1955年开始正式实施。最终实际授衔分别为:元帅10名、大将10名、上将55名,中将175名,少将802名。这是1955年授衔……健走队的人和事(421)每个人都有这样一种心理,喜欢被人称赞聪明,而不愿意承认愚笨。其实,一般的人与人之间的智商差别并不大,也就是俗话所说的谁也不比谁傻,只是做人的理念不同而已。在日常交际……蒙古国人口为什么那么少?蒙古国现在人口少最根本的原因是它独立时人口基数少,蒙古事实上独立时人口只有40万,到现在的近300万。已经大大增加了,所以我觉得有必要解释一下蒙古国独立之前人口为什么少。……13记三分,四人得分上双,11人得分,季前赛辽宁统治比赛大胜北京时间10月12日19。30分,CBA季前赛迎来辽宁与青岛的对决,此役辽宁从开局就掌控节奏,没有给青岛一点机会,最终辽宁兵不血刃拿下青岛,全队共投进13记三分,四人得分上双,……土匪齐达榜1968年刑满回乡,举报7旬老农5名党高级干部被他在解放战争中,共产主义战士们除了和国民党反动派作战,其实还有一个十分重要的敌人土匪,当时的中国非常混乱,很多穷人百姓活不下去只能落草为寇,其中有些人本性不坏,所以也不乱来,只做……七八十年代的老民办教师为何没有转成公办教师?合格的民师按国家政策,都应在2000年前转为公办教师。但当权者盯上了指标,有利可图,贪欲膨胀,想出了卖指标的良策。想买指标的人,也会算帐,即便花双倍,甚至若干倍也划得来。于是,……
联发科优势不再!高通在中端市场放大招,天玑9000黯然失色在前几年,由于高通选择跟三星合作生产芯片,造成了严重的发热、烫手、性能发挥异常等一系列问题,给联发科带来宝贵的发展空间。可事情在去年发生改变,高通意识到问题重新回归台积电怀抱,……溥仪为何杀掉婉容的孩子?1935年,婉容激将临产,溥仪听说了此事之后,脑袋轰地一下炸了,这才知道婉容竟然已经怀孕了。溥仪脸色一变,谁都能看得出来他的愤怒。可是,婉容是谁?她是溥仪的皇后呀,……女儿要看撒野等书,妈妈发愁,网友看法倒是一致一个书店老板说,根据是否允许孩子看网络小说可以把带孩子来买书的妈妈分为三种:不干涉孩子的,不允许的,会建议孩子什么书该买什么书不该买的。和以前大有不同的是,现在的家长更有……和珅死后,他儿子是怎样活下来了。带你了解真实的生活乾隆四十年,固伦和孝公主降生在紫禁城,她也被称为十公主,此时乾隆皇帝已经64岁高龄,宫中已经多年没有迎来新生儿,乾隆对固伦和孝公主的疼爱超越所有子女。按照清朝祖制,公主这……中国GPU芯片大爆发,AMD和NVIDIA或将后悔不迭就在AMD和NVIDIA因故可能在销售高端GPU芯片方面发生变化的时候,近日举办的2022世界人工智能大会(WAIC)却涌现了一大批国产GPU芯片,它们在性能方面达到世界先进水……扎克伯格身家缩水近5000亿!Meta股价创两年半新低,元宇每经编辑:郑雨航中新经纬9月20日报道称,据彭博社,脸书母公司Meta(META,股价148。02美元,市值3978。11亿美元)首席执行官马克扎克伯格布局元宇宙使他在现……人兽真的能杂交?日本的人兽胚胎实验室,究竟是灾难还是创新之前我写到过一篇关于动物杂交的文章,看来很多小伙伴对于杂交这项生物科学都还比较感兴趣,当然之前我们讲到的都是关于动物与动物之间杂交后诞生的下一代,然而在这些杂交后的生物生理和身……中端机卷王果然名不虚传,161T仅仅2599,两个半小时打破就在昨天晚上,这款预热多日的中端神机终于发布,发布之后市场反应真的很大,不管是不是Redmi的粉丝都被这款手机所吸引,据官方公布的数据来看,RedmiNote12Turbo仅仅……一亿像素50倍变焦144Hz高刷,现已跌至1599元,搭载骁关注数码圈的都知道,最近两三个月,主流手机厂商都在发布自家的迭代产品,比如小米12系列、红米K50系列、iQOO9系列、OPPOFindX4系列等等。这么做的核心目的,就是保证……每日一学中共党史知识题应知应会!(一百四十三)01hr《中国共产党纪律处分条例》依据制定。A。党章B。宪法C。法律D。结合党的建设的实践ABCD02hr在新中国国民经济恢复时期,中国共产……被吹上天的七种健康产品,养生不太行,避免被忽悠目前我国是一个疾病高发国家,而且疾病现在也比较偏爱一些年轻人,因此保健品也非常受年轻人的青睐,但是对于保健品能够预防疾病这种说法真的科学依据吗?通过目前相关研究表明并没有……真正厉害的人反脆弱,反焦虑,反内耗不知道你是否曾经遇到这样的情况:每天战战兢兢,按部就班,时刻担心被淘汰,却又害怕选择,害怕改变;从小到大,高考焦虑、求职焦虑、发展焦虑,一刻不停地追着你;你做……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网