zoukankan      html  css  js  c++  java
  • 进制转换

    进制转换

    计算机中采用的是二进制,因为二进制更方便于计算机表示,不宜受到干扰,方便于计算逻辑数据或进行逻辑预算。

    二进制有两个基数:0,1

    十进制有十个基数:0,1,2,3,4,5,6,7,8,9

    八进制有八个基数:0,1,2,3,4,5,6,7

    十六进制有十六个基数:09A,B,C,D,E,F

    不同进位计数制之间的转换是根据两个有理数如相等,则两数的整数和分数部分一定分别相等的原则进行的。若转换前两数相等,转换后仍必须相等。

     

    十进制转二进制:

    十进制数除以2,除至0时所得余数按反方向写出,即为二进制数

    例子:

    36除以2得出的商依次为:18,9,4,2,1

    所得的余数依次为:0,0,1,0,0,1

    然后反向写为100100

    所得出100100为二进制数

     

    二进制转回十进制:

    例子:100100二进制数转换为十进制数公式:

    0x20+0x21+1x22+0x23+0x24+1x25

    =0+0+4+0+0+32

    =36

    在公式中同样是从右边往左依次运算

     

     

    十进制转八进制:

    十进制数逐次除8,直至商为0,所得余数按照相反的顺序写出,即为其八进制数

    例子:49写成八进制为61

     

    八进制转十进制:

    例子:

    八进制61转十进制,公式为:

     

    1x80+6x81

    =1+48

    =49

    十进制数为49,与二进制转十进制相同

     

     

    十进制转十六进制:

    十进制数逐次除以16,至商为0,所得余数按相反顺序写出,即为其十六进制数

    例子:75除以16得出的余数为11B)  4    反向4B

     

    十六进制转十进制:

    与二进制、八进制一样

    例子:十六进制数4B转化十进制

    11x160+4x161

    =11+64

    =75

     

     

     

    其他进制之间的转换

     

     

    二进制转换为八进制:

    对于整数,采用从右到左每三位一组,不够三位的在前面补齐0,每组单独转换出来,即为八进制数。

    例子:1101111011=001  101  111  011

    转化为八进制数为:

    001=1,101=5,111=7,011=3

    算法为:

    011=1x20+1x21+0x22  

    最后得出的八进制数为(1573

     

    八进制转二进制:

    将每位八进制由三位二进制数代替,即可完成转换。

     

     

    二进制转换十六进制:

    由于24次方=16,所以依照二进制与八进制的转换方法,将二进制数的每四位用一个十六进制数来表示,整数部分以小数点为界点从右往左每四位为一组转换

    例子:1001=9,0111=7,0111=7,1001=9

    所以9779为所得的十六进制数

     

     十六进制转换为二进制:将每一位十六进制数用四位相应的二进制数表示,即可完成转换。 

     

     

     

  • 相关阅读:
    【USACO2017JAN】 Promotion Counting
    【POJ 3468】 A Simple Problem with Integers
    【HDU 1754】 I Hate It
    【Codeforces 20C】 Dijkstra?
    【POJ 2407】 Relatives
    BZOJ5249 九省联考2018IIIDX(线段树+贪心)
    BZOJ5251 八省联考2018劈配(网络流)
    BZOJ4200 NOI2015小园丁与老司机(动态规划+上下界网络流)
    BZOJ3876 AHOI/JSOI2014支线剧情(上下界网络流)
    LOJ117 有源汇有上下界最小流(上下界网络流)
  • 原文地址:https://www.cnblogs.com/hansonglin/p/4611577.html
Copyright © 2011-2022 走看看