• 进制数转换


    二进制(B)、八进制(O)、十进制(D)、十六进制(H)四种进制数之间相互转换(小数点的暂时不清楚,网上查询的跟程序运行的结果不一样)

    (1).不同的后缀代表不同的进制:

    xx H   代表十六进制

    xx D   代表十进制

    xx O   代表八进制

    xx B   代表二进制

    (2).不同进制数的开头也不同:

    0    数字前加上0的是八进制数

    0x  数字前加上0x的是十六进制数

    一、二进制

      定义:它是由0和1两个数码来表示的数,它的基数是二,进位规则是:逢二进一,借位规则是:借一当二

      1.二进制转十进制方法:把二进制数按权展开、相加即得十进制数,从左往右数,从0开始数,不是从1开始数,把每个位计算的结果相加即可(位数是0的代表没值,为1的才有值)

        比如:二进制数 10010110 转换成十进制数,如图:

        

      2.二进制转八进制方法:3位二进制数按权展开相加得到1位八进制数。(注意事项,3位二进制转成八进制是从右到左开始转换,不足时补0,在左边补0,不是右边,在右边补0就改变了二进制的值了)。

        依旧使用 10010110 来做转换,如图:

        

      3.二进制转十六进制方法:与二进制转八进制方法近似,八进制是取三合一,十六进制是取四合一。(注意事项,4位二进制转成十六进制是从右到左开始转换,不足时补0,在左边补0,不是右边,在右边补0就改变了二进制的值了)

        问题1:为什么从10开始都是用字母标识??

        解:因为如果不用字母代替的话,会与10进制相同,比如11,在十进制表示11,在十六进制中如果不用字母B表示,你区分的开吗?

        问题2:为什么最大到15呢?

        解:因为二进制转十六进制是取4个二进制转1个十六进制,4个二进制最大的结果是15(1*2*2*2+1*2*2+1*2+1=15)

        依旧使用 100101100 来做转换,如图:

        

    二、八进制

      定义:Octal,缩写OCT或O,一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1。一些编程语言中常常以数字0开始表明该数字是八进制

      1.八进制转二进制的方法:八进制数通过除2取余法,得到二进制数,对每个八进制为3个二进制,不足时在最左边补零。

         

      2.八进制或者十六进制转十进制方法:把八进制、十六进制数按权展开、相加即得十进制数。

        比如226,转10进制

         

      3.八进制转16进制目前没有一步到位的方法,只能先行转换成其他进制的,再行转换

    三、十进制

      定义:600,3/5,-7.99……看着这些耳熟能详的数字,你有没有想太多呢?其实这都是全世界通用的十进制,即1.满十进一,满二十进二,以此类推……2.按权展开,第一位权为10^0,第二位10^1……以此类推,第N位10^(N-1),该数的数值等于每位位的数值*该位对应的权值之和。

      1.十进制转二进制方法:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。

        

      2.十进制转八进制或者十六进制方法:直接把十进制转八进制或者十六进制按照除8或者16取余,直到商为0为止

        

    四、十六进制

      定义:它由0-9,A-F组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9;A-F对应10-15;N进制的数可以用0~(N-1)的数表示,超过9的用字母A-F。

      1.十六进制转二进制方法:十六进制数通过除2取余法,得到二进制数,对每个十六进制为4个二进制,不足时在最左边补零。

         

      2.十六进制转十进制或者八进制都不能直接转换,需要间接的去转换

  • 相关阅读:
    C#驱动mysql明明数值不为空却一直说DBNull.Value的诡异情况
    WinForm解决UI假死
    js实现的简单遮罩层
    mongodb C#连接报错 Invalid credentials for database 'admin'
    c#记录代码运行的耗时。
    C# LINQ
    timeScale减速对动画影响的处理方法(转)
    委托
    Unity3D单例类模板类
    Unity协程(Coroutine)管理类——TaskManager工具分享(转)
  • 原文地址:https://www.cnblogs.com/zengguowang/p/5969294.html
Copyright © 2020-2023  润新知