已经好久没有写博客了,一是因为学院屁事太多了(嘘,吐吐槽就行了,被学院发现会被bb的)二是因为自己确实找不到什么好写的,呼。当然也是因为一直有一个东西困扰我,就是学到二进制时,当时只教了二进制的加减,(什么原码,反码,补码的的东西(小声bb))但是没有教二进制的乘除。在加上老师告诉我们计算机只能进行二进制的加法,所以我就在思考二进制怎么算加减乘除。好了我还是先说明吧。
*
一:乘法
*大家还记得小学我们学九九乘法表的时候,老师当时要求我们必须要背。因为那是我们必须要求掌握的。也没有巧路可以走的在这里,我还是发一张九九乘法表的图片
那二进制的乘法表是怎样的?
是不是感觉和十进制有很大的不同,哇,只有一种情况才有1,其他的都是0,那怎样把数给变大?难道101x110=100?这是我当初的思路。后来回顾了十进制怎么算的。我才发现原来二进制可以和十进制一样进行同样的步骤乘除。例如十进制里29x33
这里我们发现是87+870
那把这个带入二进制里运算7x9呢那又是怎样?
是不是突然感觉二进制的乘法很简单了?
这里我们可以把1001理解为9;10010理解为18;100100理解为36,然后把这三个相加也就是63;当然也可以直接用二进制的相加为111111也就是十进制的63了,那如果俩个负数相乘呢?或者其中一个是负数呢?这里我将用7x-9;作为示例;(如计算机最大为八位数字,第一位为符号位)
现在发现是不是二进制的乘法很简单了,只需要算出来然后分别相加就好了。难?为什么难?那是因为这和我们平时的思维逻辑不一样,所以它难。那除法呢?你们自己想吧。十进制是怎么算除法的。二进制当然也一样。
有什么不对的欢迎指出。求大佬鞭策。