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

二进制算法加法

发布时间: 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。

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

热点内容
androidstudio签名查看 发布:2025-04-02 20:31:19 浏览:58
android分组listview 发布:2025-04-02 20:30:26 浏览:947
软件和数据库 发布:2025-04-02 20:29:39 浏览:19
c语言案例分析 发布:2025-04-02 20:13:58 浏览:214
荣威i5都有哪些辅助配置 发布:2025-04-02 19:53:24 浏览:925
我的世界国际版服务器怎么看不见了 发布:2025-04-02 19:43:50 浏览:665
天刀工作室脚本 发布:2025-04-02 19:42:51 浏览:218
复工云服务器 发布:2025-04-02 19:23:57 浏览:750
安卓收藏语音文件在哪里打开 发布:2025-04-02 19:20:59 浏览:364
量子分解算法 发布:2025-04-02 19:08:14 浏览:213