首页 > 其他 > 详细

计算机实现减法学习心得

时间:2017-01-26 11:21:28      阅读:129      评论:0      收藏:0      [点我收藏+]

  前面我们知道了人们利用电子电路知识实现了加法,那么要实现减法是不是也要重新设计一套电路器件呢?在计算机二进制里实现减法实际上是通过加法来实现的,例如计算a+b就是计算a+(b的补数),这样利用加法就实现了减法,有点类似十进制的a-b=a+(-b),即相当于减一个数就等于加他的相反数,其实二进制减法也是加上相反数,只不过这里用二进制的补数来表示一个负数。

  十进制里表示一个负数,我们只需要简单的在这个数前面加一个负号即可,但是二进制里你怎么加个负号啊,又怎么表示一个负数呢?所以这里要转换一下,我们知道一个数加一个他的相反数会等于零,例如 1+(-1)=0, 1的二进制是0000001,也就一个数加 00000001 后等于 0,那这个数就是1的二进制相反数,也叫补数。

      00000001

   +   ????????          =   这个数是    1111111    那么这个数就是0000001的相反数,也就是他的补数,这样用这样一个数就能表示一个负数了哦。

   =  00000000

那么这个补数有什么转换规律?我们怎么能求出一个二进制数的补数呢?只要把要转换的数每一位取反,即0就换成1,1就换成0,这个在电路里也很容易实现,通电的就断开,断开的就通电,  0000001 取反  ->  1111110  , 取反后再加1 -> 1111111 ,这样就求出一个数的补数了,是不是很简单。根据这个规则求得的补数和原来的数相加都会变成0,这个10进制里的相反数一样。

  

计算机实现减法学习心得

原文:http://www.cnblogs.com/luckylihuizhou/p/6351351.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!