• 进制转换(2,10,8,16)


    2016.3.5下午 C#课堂随笔

    进制转换: 二进制、十进制、八进制、十六进制之间的相互转换。

    二进制,计算机采用的简单,易实现的进制,由“0”和“1”组成,且只由“0”和“1”两个基数组成

    十进制,我们都熟悉的0,1,2,3,4,5,6,7,8,9是十进制的十个基数

    八进制,是由0,1,2,3,4,5,6,7八个基数组成的

    十六进制,基数最多,有从0,1,2,3,4,5,6,7,8,9,10(A),11(B),12(C),13(D),14(E),15(F)的16个基数

    其实进制之间的转换只要弄明白记清楚了,其实不麻烦的,关键是要仔细,还有就是算数一定要细心,一步算错,下面整个数据都是错的,一开始自己就犯了这样的错误,所以切记:细心!

    二进制转十进制

    二进制数1011101转为十进制  从右向左1*20+0*21+1*22+1*23+1*24+0*25+1*26=93,由此可总结出一个二进制公式:a*20+b*21+c*22+……+n*2n-1,其实还有更为简便的方法,如果需转换数据不是特别长的话在可以用这种简便方法,还是用1011101作为例子:插入图片

    十进制转二进制

    十进制数95转为二进制:用95除以2讲义上的方法有点轴,老师讲得简单又实用,个人推荐孙老师的简单算法:插入图片

    八进制转十进制

    八进制数527转换为十进制,7*80+2*81+5*82=343,也可用简易方法

    由此得出计算公式:a*80+b*81+c*82+d*83+……n*8n-1=                

    十进制转八进制

    十进制数953转为八进制,用953除以8 商依次是:119 14 

                                                      余数依次是:1 7 6 1,余数相反顺序写出即为1671 插入图片

    十六进制转十进制

    十六进制数ABCE转为十进制方法同二进制转十进制一样,只是基数变化了,ABCE=1*14+8*12+64*11+512*10=5934,插入图片

    十进制转十六进制

    十进制数1563转为十六进制,用1563除以16直到商为零,商依次是:97,余数依次是11 1 6,按照相反方向写出即是61B

    二进制、八进制相互转换

    二进制与八进制之间相互转换,二进制数据从右往左三个划为一组加和即为八进制,因为二进制三个一组最大数即为111,加起来正好是7,八进制呢最大基数正好是7,所以很容易就可以把二进制相对应的八进制计算出来;同理八进制数据一拆三即为相对应的二进制数据。

     1110001101

     1   6   1    5     1615即为所对应的八进制数

        2751

     010 111 101 001    10111101001即为所得二进制数据

    二进制与十六进制之间的转换同上,不过是变成了从右往左四个数字一组,因为四个二进制一组最大数1111加和正好是15,是十六进制的最大基数;反过来十六进制转换二进制只需一拆四这个不分左右。

    111110111110

       F     B      E        FBE即为相对应的十六进制

       1FCD

    0001 1111 1100 1101   最前面为零把零舍去即1111111001101为所得的二进制数据

    最后借用一张孙老师的图来看二进制、八进制、十进制、十六进制之间的转换关系

     上图所示,八进制与十六进制之间不能直接转换,中间需借助二进制或是十进制,其余皆可直接转换。

                                                                

  • 相关阅读:
    Java之ServiceLoader
    docker学习(3)--Dockfile详解
    docker学习(2)--基础命令
    docker学习(1)--基础概念
    dubbo学习(1)--简单的入门搭建实例
    Flume搭建及学习(基础篇)
    VM下--Linux根分区磁盘扩容
    Windows10下简单搭建zookeeper
    Windows10下搭建TensorFlow环境
    cmath库函数
  • 原文地址:https://www.cnblogs.com/nannan-0305/p/5245142.html
Copyright © 2020-2023  润新知