当前位置:首页 » 操作系统 » 二进制算法加法

二进制算法加法

发布时间: 2023-09-18 01:33:28

1. 二进制加减法运算法

减法运算其实是可以由加法运算替代的,我们上面已经介绍过了无符号和补码的非,其实很多CPU是没有减法运算器的,它们都是将减数进行逆运算以后送入加法器,然后进行加法运算,这样得出来的结果就是减法运算最终的结果。

比如我们考虑一种简单的情况,当w = 4时的无符号减法运算,对于 5 - 4这个减法运算来说,我们可以由 5 + 4-1(其中4-1是4的逆元的意思,不是1/4的意思)来替代这个减法运算。

为了更加直观,LZ带各位来算一下,首先4的逆元根据上面的公式可以得到为 4-1= 24- 4 = 12 。那么我们现在需要对5和12进行加法运算,它们的位表示分别为 0101和1100,结果为10001,也就是十进制17的位表示。不过由于我们的w = 4,因此截断之后结果为0001,也就是十进制的1。最终可以得到 5 - 4 = 1。

对于5 - 4来说,是考虑的结果为正的情况。或许有的猿友会对结果为负或者说是无符号数溢出的情况下有疑问,因此LZ这里对这种情况也做一个简单的介绍。我们考虑一个简单的计算 0 - 1,我们可以得到1-1= 24- 1 = 15。此时对0和15进行加法运算,他们的位表示分别为0000和1111,结果为1111。

看到这里估计有的猿友会奇怪了,这怎么回事,0 - 1 = 15?

当然不是,这个结果其实是正确的。考虑使用补码编码来解析1111这个位表示,它代表的值就是-1。15是1111这个位表示在无符号编码情况下的解析结果。

因此LZ这里也给出一个公式,就是对于两个整数x和y来说,x - y = x + y-1。这里需要特别说明的是,这个公式代表的意义是位表示,而不是实际的数值。

2. 二进制加减法运算法则是什么

二进制加减法运算法则是:0+0=0,0+1=1 ,1+0=1, 1+1=10(向高位进位);二进制的减法:0-0=0,10-1=1(向高位借位) 1-0=1,1-1=0 (模二加运算或异或运算) 。二进制的乘法:0 * 0 = 00 * 1 = 0,1 * 0 = 0,1 * 1 = 1 二进制的除法:0÷0 = 0,0÷1 = 0,1÷0 = 0 (无意义),1÷1 = 1 。

逻辑运算二进制的或运算:遇1得1二进制的与运算:遇0得0二进制的非运算:各位取反。0、1是基本算符。因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现。从右往左第一位表示2的0次方,第二位表示2的1次方,第n位表示2的n-1次方。可以将1理解为有,0理解为无。

二进制的转换:

十进制转换为二进制的方法是:整数转换,采用连续除基取余(短除法),逆序排列法,直至商为0。小数转换:采用连续乘基(即2)取整,顺序排列法。例(0.8125)10=(0.1101)。

具体的步骤:0.8125*2=1.625,0.625*2=1.25,0.25*2=0.5,0.5*2-=1.0,则正向取整得(0.1101)2。

以上内容参考:网络-二进制运算法则

热点内容
怎么给电脑换配置 发布:2025-01-24 13:04:04 浏览:919
如何修改服务密码10086 发布:2025-01-24 12:44:27 浏览:512
dosftp连接 发布:2025-01-24 12:35:56 浏览:802
编程来炒股 发布:2025-01-24 12:35:14 浏览:854
python正则中括号 发布:2025-01-24 12:32:08 浏览:584
配置排列用英语怎么说 发布:2025-01-24 12:32:00 浏览:607
led流水灯c语言程序 发布:2025-01-24 12:28:15 浏览:46
苹果平板锁屏密码在哪里 发布:2025-01-24 12:16:41 浏览:958
网校c语言 发布:2025-01-24 12:12:15 浏览:787
少儿机器人编程哪个机构好 发布:2025-01-24 11:51:18 浏览:697