美文精选网(www.meiwenjx.com),倾力打造互联网精彩美文阅读网站!
我要投稿
当前位置: > 励志美文 > 职场励志 > 正文

只有加法

网友推荐的空间 作者:网友推荐 [我的文集]   在会员中心“我的主页”查看我的最新动态   我要投稿
来源:美文精选网 时间:2021-09-24 12:51 阅读:次    作品点评
原创 个人感悟日记
 
昨天看软件设计师教程,看到关于数字的机器编码,有原码、反码和补码。
 
 
 
这些内容我在大学的课程中学过,但是我有些无法理解原码、反码和补码的意义是什么。
 
 
 
这次看到这个知识点,我不想再这么不清不楚过去了,于是到网上搜索这三种码的意义,特别是反码和补码这两种的意义。
 
 
 
最终我找到了这两种码的意义,就是解决计算机做减法的问题。
 
 
 
为什么这么说呢?
 
 
 
首先在计算机的世界只有两种数字0和1,我们在计算机中看到的众多数字都是通过0和1组合表示的,比如数字7就是0111,这里我就不多解释,因为这不是计算机专业课。
 
 
 
在计算机中如果进行减法,可以看作是一个正数加一个负数,但是这样进行直接加会出现各种奇怪的答案,比如会出现诸如 1+(-1)= -2这种结果,这显然是不对的。
 
 
 
于是诞生了反码这种解决方案,但是这种方案有一个瑕疵在面对两个负数相加会出现奇怪的答案,之所以瑕疵是因为,并不是不能解决,是能够解决,只是做的不那么漂亮,就是先将两个负数当作正数进行相加,之后强制将结果变成负数,比如(-5)+(-5)变成5 + 5算出结果之后再在前面加一个负号。
 
 
 
在这种背景下诞生了补码这种解决方案,这种方案高明之处在于,将两个数相减转换成相加,为了方便理解,我用钟表举一个例子,比如现在是10点,我想要将钟表拨弄到8点应该怎么做?是不是有两种方法,一个是逆时针旋转2个小时的时间,一个是顺时针旋转10个小时。
 
 
 
发现没有10 - 2 和 10 + 10 这两种方案是等价的,即 10 - 2 = 10 + 10。
 
 
 
就这样将 10 - 2 这么个减法的操作变成了10 + 10 的操作,将减法的操作变成了加法的操作,实际上计算机计算的时候也确实是这么计算的。
 
 
 
你是不是觉得很不可思议,10 + 10 怎么会等于8呢?
 
 
 
你这么想10 + 10 = 20 因为钟表是12进制(也就是超过12便会重新计算),于是20需要减去12,这样一来不就是8了吗。
 
 
 
看到没有计算机就是通过补码这种方案,将减法变成了加法,于是我得出这样一个感慨:只有加法。
 
 
 
多说两句,减法可以变成加法,乘法也可以变成加法,除法最后也可以变成加法,自然只有加法,这一刻我也突然理解,为什么电子元件中有一个累加器的单元,因为都可以转换成加法。
 
    美文精选网