zoukankan      html  css  js  c++  java
  • 二进制简单运算学习心得

    1.什么是二进制?  在日常生活中我们都熟悉5进制和10进制,原因很简单。我们的手指就是以5和10作为单位的。所以从小学习的时候,也主要以10进制作为主要的学习方向。

      二进制和10进制其实原理是相同的。我们知道10进制是遇10进1。例如1..8.9.然后遇到10了进1。变成10。然后继续增加11.12.13...19遇到20(含10进1),变成20.然后21.22.23...

     对于二进制我们同理就是遇到2进1。0.1(遇到2了进1)10.11(3)(遇见2了进1)100(4).这里注意,由于10进制的数是09所以才有20,300,900这些进位以后的表现形式,但是二进制只有0和1.所以进位以后只有10.100.1000.

    2.为什么要引进二进制?

     在计算机发明之初。人们想着怎么才能让计算机进行自动的工作。后来经过几代人的努力,发现可以用两种完全相反的状态进行组合。比如开关的on和off两种状态。根据数学的排列组合。一个开关的状态是两种。十个开关的状态就是2^10。100个开关的状态就是2^100.这是一个非常庞大状态取值范围。这些组合出来的状态再由电子技术进行操作就是计算机的基本工作原理了。例如1代表高电平(高电压),0代表低电平(低电压)。当输入11111111,10101010,00001111,这三组数据的时候。计算机里面的开关就会有三种不同的状态。这三种不同的状态根据输入的顺序不同,输出的状态也不相同。(这里的开关在计算机里面代表电子管,晶体管,集成电路(里面也是成千上万的晶体管))。我们现在的代码程序无论是c,c++,python等最后都是转换为二进制,再与计算机进行交互的。

    3二进制简单的四则运算。

    1、二进制的加法运算

     

    由图可知,从末位开始逐一相加。0加1等于1,第二位1+1为2则和10进制一样进位留下0。第三位1+1同理进位。由于第二位相加进位加1,所以第三位进位加1以后剩下的0再加1.最后结果为1101。换为10进制的结果证明是正确的。

    2、二进制的减法运算。

     由图,我们同样从末位开始做减法。由于末位是0减1所以需要向高位借1.(这里的借1和十进制一样,十进制借来了10,这里借来的是2,不是高位借1的借来一个1.由于是二进制这个地方容易混淆)借1以后末位产生2减1最后剩下1.第二位也是0减1所以继续向高位借1,由于原来在末位借了一次。所以这次借来的2要先减1,最后再和第二位的减数的1相减。最后第二是剩下0.最高位被借走以后剩下0,0减0为0.所以答案001。

    这个结果与十进制的相同。

    3、二进制的乘法。

    由图,二进制的乘法与十进制相同,可以当做十进制进行运算。原理就是每一位逐一进行乘法。例如上图就可以当做两个三位数的乘法运算。最后结果与10进制的相同(这里注意二进制中最前位为0时,把他舍弃)答案为1100.

    4、二进制的除法

     二进制的除法与十进制相同。上图你可以当做1100除以100.关键在于最后的结果你要看做二进制而不是十进制。例如最后结果为0011(3)即011(3).而不是11.

     当有余数的时候也是一样的道理:

    余数和商皆为二进制。

     

     

  • 相关阅读:
    一个关于Delphi XML处理单元的BUG
    弹出一个非阻塞对话框
    更新Delphi中SVN客户端版本的方法
    程序只允许运行一个+重复运行程序提前
    Reverse Words in a String
    How to define Servlet filter order of execution using annotations
    Understanding and Using Servlet Filters
    Observer Pattern
    javascript 比较
    SOAP vs REST
  • 原文地址:https://www.cnblogs.com/lyx958700392/p/5453391.html
Copyright © 2011-2022 走看看