布斯乘法算法

✍ dations ◷ 2025-11-12 01:03:09 #电脑架构,计算机科学,算法,二进制算术

布斯乘法算法(英语:Booth's multiplication algorithm)是计算机中一种利用数的2的补码形式来计算乘法的算法。该算法由安德鲁·唐纳德·布思于1950年发明,当时他在伦敦大学柏贝克学院做晶体学研究。布斯曾使用过一种台式计算器,由于用这种计算器来做移位计算比加法快,他发明了该算法来加快计算速度。布斯算法在计算机体系结构学科中备受关注。

对于位乘数,布斯算法检查其2的补码形式的最后一位和一个隐含的低位,命名为-1,初始值为0。对于, = 0, 1, ..., - 1,考察 - 1。当这两位相同时,存放积的累加器的值保持不变。当 = 0且 - 1 = 1时,被乘数乘以2加到中。当 = 1且 - 1 = 0时,从中减去被乘数乘以2的值。算法结束后,中的数即为乘法结果。

该算法对被乘数和积这两个数的表达方式并没有作规定。一般地,和乘数一样,可以采用2的补码方式表达。也可以采用其他计数形式,只要支持加减法就行。这个算法从乘数的最低位执行到最高位,从 = 0开始,接下来和2的乘法被累加器的算术右移所取代。较低位可以被移出,加减法可以只在的前位上进行。

布斯算法的实现,可以通过重复地在上加两个预设值和 S其中的一个,然后对实施算术右移。设和分别为被乘数和乘数,再令和分别为和中的数字位数。

换另一种说法:把前x位用一个单独的数R0表示,中间y位用另一个数表示R1表示,辅助位用Z表示在这里,要通过重复的把R0加上或者减去m来得到结果。具体如下:初始值R0=0,R1=r.Z=0,此时来考查yi和yi-1这两位,在这里就是m的最后一位和Z的值。这里要说下为什么每次看的都是这两位了。在下边每次运算后都会把R0,R1,Z中的值右移一次,RO的最后一位移入R1的高位,R1的最后一位移入Z。这里要注意的是在右移R0时,如果他的最高位是1,则移位后最高位用1填充,如果最高位是0,移位后最高位用0填充。接下来要按m的最后一位和Z的值来判断怎么加减了:

最后是结果,结果就是R0并上R1的值。比如R0=3,R1=25,结果就是325.

考虑一个由若干个0包围着若干个1的正的二进制乘数,比如00111110,积可以表达为:

其中,M代表被乘数。变形为下式可以使运算次数可以减为两次:

事实上,任何二进制数中连续的1可以被分解为两个二进制数之差:

因此,我们可以用更简单的运算来替换原数中连续为1的数字的乘法,通过加上乘数,对部分积进行移位运算,最后再将之从乘数中减去。它利用了我们在针对为零的位做乘法时,不需要做其他运算,只需移位这一特点,这很像我们在做和99的乘法时利用99 = 100 − 1这一性质。这种模式可以扩展应用于任何一串数字中连续为1的部分(包括只有一个1的情况)。那么,

布斯算法遵从这种模式,它在遇到一串数字中的第一组从0到1的变化时(即遇到01时)执行加法,在遇到这一串连续1的尾部时(即遇到10时)执行减法。这在乘数为负时同样有效。当乘数中的连续1比较多时(形成比较长的1串时),布斯算法较一般的乘法算法执行的加减法运算少。

相关

  • ɭ卷舌边近音是辅音的一种,它在国际音标中的符号是 /ɭ/,在X-SAMPA的符号是 l`。汉语普通话没有此音,个别北京人发声母l时,舌尖太卷,就发成此音。卷舌边近音有如下特征:表示舌尖音,
  • 金赛研究所金赛性、性别与生殖研究中心(英语:Kinsey Institute for Research in Sex, Gender, and Reproduction,简称金赛研究所)是一所位于印第安纳大学的非营利研究机构,于1947年创立,并于
  • 辛纳屈最佳唱片包装1959年 Frank Sinatra Sings for Only the Lonely 年度专辑1960年 Come Dance with Me!1966年 September of My Years 1967年 A Man and His Music 最佳流行男
  • 小豆岛小豆岛(日语:小豆島/しょうどしま Shōdoshima */?)是位于日本濑户内海播磨滩的岛,面积153.30平方公里,海岸线长126公里,为日本第19大、濑户内海内第2大岛。岛上有小豆岛町、土庄
  • 拉希德·苏尼亚耶夫拉希德·阿利耶维奇·苏尼亚耶夫(俄语:Рашид Алиевич Сюняев,1943年3月1日-),俄国天体物理学家,鞑靼人,吸积盘理论的开拓者,并在1972年和雅可夫·泽尔多维奇一起提
  • 蛋白二聚体在生物化学中,双聚体为由两个分子组合而成的高分子配合物,常以非共价键键结。像是蛋白质或是核酸皆为高分子。是一种蛋白质四级结构。同源双聚体,可由两个相同的分子组合而成(
  • 对佛教的批判对佛教的批判,更像是一般对宗教的批判,可以从反对者或质疑断言、信仰、许多佛教派别的其他因素中发现。一些佛教教派、许多佛教国家和独立的佛教领导人已经以一种或其他方式批
  • 阿摩里卡丘陵阿摩里卡丘陵(法语:Massif armoricain,发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code2000",
  • 皇家企鹅皇家企鹅,又称皇室企鹅,是生活在次南极(英语:sub-Antarctic)地带麦夸里岛及其邻近地区的企鹅,国际自然保护联盟以保护状况,将皇家企鹅分类为近危物种。其学名是为了纪念德国动物学
  • 永元 (东汉)永元(元年:89年 - 末年:105年四月)是东汉和帝刘肇的第一个年号。汉朝使用这个年号时间共计17年。章和二年二月汉和帝即位沿用章和年号,次年正月初一(89年1月30日)改元永元。永元十