sigmoid函数推导(sigmoid函数计算公式)

sigmoid函数推导(sigmoid函数计算公式)布斯乘法是一种补码相乘的算法 由 A D Booth 在 1950 年提出 相信大部分小伙伴都是在计算机组成原理相关的书籍中首次接触的 有许多教材在原理方面并未详细阐述 亦或是直接讲明规则直接使用 导致读者一时难以理解其中道理 我目前看的这本书就属于后者 我在网上查阅相关资料后 根据自己的理解写下这篇文章 希望帮助到和我曾经一样的人 首先让我们看看布斯乘法的规则 设 为偶数 被乘数为 乘数为

大家好,我是讯享网,很高兴认识大家。



        布斯乘法是一种补码相乘的算法,由A·D·Booth在1950年提出。相信大部分小伙伴都是在计算机组成原理相关的书籍中首次接触的。有许多教材在原理方面并未详细阐述,亦或是直接讲明规则直接使用,导致读者一时难以理解其中道理,我目前看的这本书就属于后者。我在网上查阅相关资料后,根据自己的理解写下这篇文章,希望帮助到和我曾经一样的人。

        首先让我们看看布斯乘法的规则:设为偶数,被乘数为,乘数为

        ①乘数最低位增加一位辅助位

        ②若,则“”;若,则“”;若,则不做任何操作。

        ③算术右移 一位,得到部分积。

        ④重复第②步和第③步次,结果得

        

        我们知道,补码是正数时,其真值就是补码的数值部分按权展开,即;当补码是负数时,得到其真值的步骤为:符号为负,对补码数值位取反,最后加1,然后按权展开,即,我们对其化简,从而得到

补码表示

        因为正数的补码最高位为0,负数的补码最高位为1,所以我们可以合并上面两个式子,就得到了一个可以表示任意补码的公式:

公式一


讯享网

        我们对公式一做下变换:

得到了公式二,我们看到最后一行多了一个,这就是为什么乘数最低位需要增加一个辅助位并且令它等于0的原因。

        现在我们假设有一个8位补码A为:0111 1110,用公式二可以表示为1000 0000-10=1000 00(-1)0,于是我们可以发现:

        遇到时,乘数当前位(二进制一位只能是0或1)肯定是负的,根据乘法运算,我们需要做减法运算,即,相当于,然后右移得到部分积;

        遇到时,乘数当前位肯定是0,所以什么都不加,直接右移一位得到部分积;

        遇到时,乘数当前位肯定是正的,我们需要做加法运算,即,然后右移得到部分积。

        举个例子:设,则:

                

可以看到结果是正确的,至此,布斯乘法中的规则也就可以理解啦!

小讯
上一篇 2025-06-12 23:17
下一篇 2025-04-16 09:02

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/192452.html