苏小北

导航

 

一、二进制

1.进制:人为规定的一种计数规则。

   进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的"正"字计数法,以及类似的tally mark计数)。 对于任何一种进制---X进制,就表示每一位置上的数运算时都是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。

   0 1 2 3 4 5 6 7 8 9

    所谓逢十进一,可以理解为当要变成10的时候,一位数字不够表达了,我们可以向前一位借一位,然后地位补0.

2.二进制

    二进制:逢二进一的一种计数规则。

     是计算中广泛采用的一种进制二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用1来表示“开”,0来表示“关”

(1)二进制是什么

    (a)进制:一种人为规定的计数规则。

    (b)二进制:逢 2 进 1 的一种计算规则。

(2)二进制介绍

    (a)在二进制里“基数”只有 0 和 1。

    (b)二进制被当前广泛的应用 于计算机当中。(计算机只能读懂0和1)

(3)计算机如何理解0和1

    现代计算机都是通电进行工作,当电流走过设备的时候必然会产生电压,此时就人为的设定规则,取了一个电压值,比这个值大的叫高电位,用数字1表示,比之值值小的叫低电位,用数字0表示。基于这种原理,此时的计算机可以认识0和1了。刚好0与1又是二进制当中的基数。(计算机应用了二进制)。

(4)计算机采用二进制的好处

    (a)二进制技术实现简单,状态稳定。

    (b)二进制里只有0和1两个基数,刚好与程序语言当中的“真”和“假”对应。(全世界都人为的认为1可以代表程序语言当中真,0可以代表程序语言当中的假)。

    (c)二进制数值可以很容易的转换成十进制。

3.常见的数学进制

(1)二进制:基数是0、1,逢二进1

(2)八进制:基数是0~7,逢八进1

(3)十进制:基数是0~9,逢十进1

(4)十六进制:基数是0~9、A、B、C、D、E、F,逢十六进一

4.常用进制的换算

 

 

 其它进制转十进制与该方法类同

         ①先确定当前数字的位数,然后从右向左数,依次是低位到高位;

         ②记下每位数字所在位数N(由当前所在位数决定);

         ③取出每一位上的数字m,然后用这个 m (m不是一个固定数字,它是当前位上锁具有的数字)去乘以当前进制的 N-1 次方;

         ④将每位上的相乘结果进行相加,最后的和据说该数值所最有的十进制。

(1).二进制转十进制

 方法:按权运算。 例如10101(2)——>?(10)

                    从左至右:1*2^(5-1)+  0*2^(4-1)) + 1*2^(3-1) + 0*2^(2-1)+1*2^(1-1) = 21

 

(2).十进制转二进制

常见的方法——短除法:

    (a)用这个十进制的数值除以2,得到一个商和余数;

    (b)判断当前的商是否为0,如果这个商不为0,那么继续用这个商除以2;

    (c)直到某一次商为0时结束,我们需要的就是将这个除法过程中产生的余数从后往前反向排列;

    (d)最终的排列结果就是当前这个十进制转换成二进制的数值。

    例如34(10)——>?(2)

  34 / 2 =17 余0

  17 / 2 = 8 余1

  8 / 2 =4 余0

  4 / 2 =2 余0

  2 / 2 =1 余0

  1 / 2 = 0 余1

  结果就是余数从下往上写 即100010,其余进制转二进制可以先转十进制,再转二进制

 

(3).十进制转八进制

使用短除法,具体参考十进制转二进制

 

(4)八进制转十进制

方法:按权运算(同二进制转十进制的方法相同)

eg:八进制120转换成十进制

1*8^2+2*8^1+0*8^0=80

(5)其它进制转换十进制

    (a)  先确定当前数字的位数,然后从右向左数,依次认为是低位到高位。

    (b)记下每位数字所在的位数N(N不是一个固定的数字,由当前所在位数决定)。

    (c)取出每一位上的数字m,然后用这个m去乘以当前进制的N-1次方。(m不是固定的,它是当前为上的数字)

    (d)将每位上的香橙结果进行相加,最后的和就是该数值所对应的十进制值。

eg:11101    这是一个5位数的二进制数字,转化成十进制

        1*2^(5-1)+  1*2^(4-1)) + 1*2^(3-1) + 0*2^(2-1)+1*2^(1-1) = 29

可通过在线进制转换工具(https://www.sojson.com/hexconvert.html)进行验证.

(6)其它进制转二进制

    (a)八进制转二进制

        i)将八进制当中的所有基数都转换成二进制(注意八进制转换成二进制候,需要用三位来表示。如:0是八进制的那么在用二进制表示的时候要写成000)

        ii)将转换的的数值进行拼接。

        iii)0------000

             1------001

             2------010

             3------011

             4------100

             5------101

             6------110

             7------111

120——001 010 000

    (b)十六进制转二进制

          i)将十六进制中的所有基数转成二进制(注意十六进制转换成二进制候,需要用四位来表示。如:0是十六进制的那么在用二进制表示的时候要写成0000);

         ii)将转换的的数值进行拼接。

             0------0000

             1------0001

             2------0010

             3------0011

             4------0100

             5------0101

             6------0110

             7------0111

             8------1000

             9------1001

            A------1010

            B------1011

            C------1100

            D------1101

            E------1110

            F------1111

 

EF(十六进制的数值),转换成二进制后的结果是:1110 1111

posted on 2019-12-27 17:07  苏小北  阅读(707)  评论(0)    收藏  举报