首页 >> 大全

计算机加减乘除运算原理

2023-06-24 大全 53 作者:考证青年

计算机加减乘除运算原理

加减法原理 原码,反码,补码

十进制

原码(符号位+真数)

反码(符号位不变)

补码(符号位不变)

85(正数)

0101 0101

0101 0101(正数:本身)

0101 0101(正数:本身)

-85(负数)

1101 0101

1010 1010(负数:非符号位取反)

1010 1011(负数:反码+1)

原码运算:如下图,原码运算对于负数参与的运算是不正确的,但是两个正数相加则正常;

反码运算:真数部分是正确的,但是对于0出现了[0000 0000]原和[1000 0000]两种编码;

补码运算:使用[1000 0000]代表-128,同时-128不存在原码

使符号位以及真数同时参与运算;

可以把减法运算变成加法运算;而乘法可以用加法来做,除法可以转变成减法。

如下图,补码运算的最高位溢出情况下,其他位的结果正好为数据的运算结果

乘法 原理:计算机数值都是用2的N次方来表示的:2^n0+2^n1+2^n2+2^n3+2^n4......

x*y=(x)*(2^n0+2^n1+2^n2+2^n3+2^n4)

=(x*2^n0)+(x*2^n1)+(x*2^n2)+(x*2^n3)+(x*2^n4)+......

=(x左移n0)+(x左移n1)+(x左移n2)+(x左移n3)+(x左移n4)+......

实例15(x)*13(y),即1111*1101

a.首先y的最低位为1(2^0),x左移0位得到1111

b.然后y的最低第二位为0,没有2^1存在,因此本次无运算,得到为0

c.然后y的最低第三位为1(2^2),x左移2位得到

d.然后y的最低第四位为1(2^3),x左移3位得到

e.把a、b、c、d的结果相加1111+0++=(195),该结果就是乘法的结果

除法 原理

左移运算。符号位不参与运算

实例:51/3

大小比较

真数从高位到低位比较,符号位单独比较

移位运算 :右移运算符,num >> 1,相当于num除以2

如:0000 1000 右移2位为 0000 0010,从16变为2

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了