专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

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

  前言
  本文主要介绍如何使用位运算来实现加减功能,也就是在整个运算过程中不能出现加减符号。
  加减乘除运算在计算机中,实际上都是用位运算实现的,今天就用位运算来模拟下加法和减法的运算功能。思路分析
  先分析如何用位运算实现加法运算。示例
  假设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

努力世界上有许许多多的职业,有的职业风光靓丽,有的职业默默无闻。有舍生取义的革命者,有舍小家顾大家的人民子弟兵,有救死扶伤的白衣天使,也有蜡炬成灰泪始干的教书匠,还有为大家种植粮食的农华为鸿蒙生态突破后,谷歌宣布新决定,开始着急了?本文原创,禁止抄袭,违者必究华为在操作系统方面走出了一条自己的路,目前华为自研的鸿蒙操作系统完成了重大生态突破,已经实现超3亿台自有设备搭载。在这之后,谷歌加速跨终端的生态应用布局2000元价位手机推荐今天和大家聊一下2000元价位的手机。红米Note11Pro作为性能小钢炮的延续,红米Note11Pro虽然没有搭载高通骁龙处理器,但是搭载的天玑920芯片也一样性能出众。三星AM币圈快讯1。DeFi预言机平台RedStone完成近700万美元种子轮融资,CoinbaseVentures等参投PANews8月32。FTX与韩国釜山市达成合作,将支持设立釜山数字资产交离谱!姆巴佩从未夺过金球却质疑梅西金球有水分想法太奇特了梅西目前正为法甲巴黎效力,这位职业生涯7夺金球奖的球星,自然是许多新生代球员想要追赶的对象。偏偏梅西的巴黎队友姆巴佩,却总是在媒体前唱反调。总觉得姆巴佩这名球员怪怪的,也不知道是性三防音箱也能有广阔声场?索尼(SONY)SRSXE200户外音箱体验听歌,对我来说,就如同戒不掉的咖啡。出门在外,我即便不背包也习惯随身携带耳机,但不可否认的是长时间使用耳机不仅会对耳朵造成疲劳,也会对听力产生一定影响。而且在外结伴出游时候,用耳机小米大件货汇总是时候给家里添货了近日,小米推出了一系列米家新品好物,从空调智能净烟机到分区洗烘一体机统统都有,有需要的读者们可以根据需要点击链接进行购买01小米米家空调自然风1。5匹近日,小米推出了新一级能效空调新学期新装备,华为nova10系列2699元起开学季首选机型马上就要迎来开学季了,新学期正是换手机的高峰,追求潮流时尚的年轻人,谁不想拥有一部性能出色,颜值又超高的手机呢。今天就为大家推荐一款华为焕新上市的华为nova10系列手机,对于有换iPhone14Promax价格有点贵,最低接近1万,这外观你会买单吗?大家还记得在iPhone13系列手机发布之后关于iPhone14系列手机的相关爆料也就开始了,当时有网友调侃称为期一年的iPhone14系列手机爆料开始了。现在iPhone14系列锐评联想推出VR700,赶上了第二次VR爆发的风口近日,联想旗下的拯救者品牌发布了首款VR头显产品VR700,首发价2999元,目前该产品已经正式开售。外观方面VR700采用帽戴式设计,且精心优化了前后重量,使得消费者长时间佩戴也华为新款随行WiFi3上架内置2400mAh大电池8月29日消息,华为新款随行WiFi3目前已上架,售价369元。据介绍,新品外观外观轻薄小巧,仅有94克,可轻松放进口袋或包里,随身携带也毫无压力。续航上,华为随行WiFi3搭载了
好消息,中国足球未来有救了!3月12日,在今年两会结束后举行的部长通道采访活动中,有记者当场发问体育总局局长,下一步对振兴三大球有什么工作打算?总局高局长在回答中直面群众质疑,对未来三大球的工作愿景做了简单的中国足球的历史沉浮与未来展望中国足球的历史沉浮与未来展望个人浅谈足球运动,最早的起源在中国。在春秋战国时期,就出现了蹴鞠或名塌鞠。蹴鞠在汉唐时期得到了急速的发展。西汉时期开国皇帝刘邦就喜好蹴鞠。唐朝时期诗人杜中国首次实现自主研制太赫兹探测设备,正式运用到南极科研项目!据中新社援引中国科学院紫金山天文台消息,在中国第39次南极科学考察期间,由该台牵头完成了南极内陆太赫兹天文试观测和通信收发等实验。这是中国自主研制的太赫兹探测设备首次在南极内陆极端悲哀还是无奈?李玮峰自称执教不了国字号球队,原因是怕领导开会提起国足铁血中后卫,你一定会想起以范志毅和李伟峰为代表的亚洲最强后防线。今天说到的李伟峰,这个当年以火爆脾气著称的国足队长,退役后开始了执教之路。曾临危救主带领天津天海保级,作为世想接国外业务?我国发射埃及荷鲁斯2号,美国不得使用任何专利3月13日12时02分一颗名叫荷鲁斯2号的遥感卫星搭乘长征二号丙运载火箭成功进入预定轨道,地点为酒泉卫星发射中心。就在17天之前的2月24日,在同一发射场用同一型号的火箭,荷鲁斯1这才是郭晶晶的聚会,一众体育明星年前小聚,张怡宁李宁等人现身几乎所有的香港名媛富太太都去看了韩国女子组合BLACKPINK的演唱会,演唱会上李嘉欣郑志刚沉月林新浪坎比等人都有表演。演唱会结束后,郑志刚沉月林馨儿与BLACKPINK女团成员合冷血艳谍悲剧的开始是生父的舍弃还是养父的利用?她本名金壁辉,又名爱新觉罗显钰,1906年5月24日出生于北京肃亲王府。她是清王朝最后一任肃亲王善耆的第14个孩子,这也是众多电影中称她为十四格格的原因。和硕肃亲王是清朝八大铁帽子为文正的谥号李东阳强撑着最后一口气等一个人1516年7月的一天,正德朝首辅重臣李东阳躺在病榻上,昏花的眼睛里噙满泪水,他死死的盯着窗外,始终撑着一口气不甘心就此瞑目,因为他在等一个人,即便是他自己也不知道能不能等到或者等的前事不忘,后事之师头条创作挑战赛作为中国人,必须了解世界历史,更要了解中国历史。我们为祖国有悠久的历史灿烂的文化而自豪,同时为近代任人宰割的屈辱历史而悲愤。甲午战争和八国联军侵华战争,以及后来的日本广州地名有段古丨白云路不在白云,在越秀白云路曾是广州最宽的马路,首次试验性建成中间有绿化带的复式马路,有模范马路之称。白云路中间绿化带上的火车元素,记录着位于此路的广九火车站这段历史。白云路广州有白云区,也有白云路,两一言不合20万!新能源汽车真能卖给年轻人?直言真看不懂一言不合20万!新能源汽车真能卖给年轻人?直言真看不懂新能源汽车品牌之间的角逐竞争愈加激烈。在刚过去的二月,各大新能源品牌都陆续公布了销量,具体来看比亚迪依然遥遥领先,而除此之外的
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网