zoukankan      html  css  js  c++  java
  • 进制与算法篇

    1、10进制转2进制:                                            2进制转10进制

    开二取余                                                           例:  1000010100 

    例:532开2=266~0                           0*2^0(个位)+0*2^1(十位)+1*2^2(百位)+0*2^3(千位)+1*2^4+0*2^5+0*2^6+0*2^7+0*2^8+1*2^9

         266开2=133~0                                       =0+0+4+0+16+0+0+0+512             

         133开2=66~1                                         =532

           66开2=33~0

           33开2=16~1

           16开2=8~0

             8开2=4~0

             4开2=2~0

             2开2=1~0

             1不能开了

    最后取结果为  1000010100

    2、10进制转8进制                                                  8进制转10进制

    与转2进制类似,开8取余                                            例:1024

    例:532开8=66~4                                                   4*8^0+2*8^1+0*8^2+1*8^3

           66开8=8~2                                                       =4+16+0+512

            8开8=1~0                                                        =532

              1不能开了

    最后结果为   1024

    3、10进制转16进制                                                      16进制转10进制

    同上开16取余                                                                   例:214

    注意10=A  11=B  12=C  13=D  14=E  15=F                   4*16^0+1*16^1+2*16^2

    例:532开16=33~4                                                           =4+16+512

           33开16=2~1                                                             =532

             2不能开了

    最后结果为214

    4、2进制转8进制                                                                                                 2进制转16进制

     例:1000010100                                                                                                   例:1000010100

    由于8是2的3次方,所以没3位数看做8进制中的一位数                                                      由于16是2的3次方,所以没4位数看做16进制中的一位数             

    因此例题中的数值可以看做                                                                                           因此例题中的数值可以看做               

    1  000  010  100                                                                                                    10  0001  0100

    每三个数值划分成8进制,                                                                                          每三个数值划分成8进制,三位数中的个位换算成1,

    三位数中的个位换算成1,                                                                                           十位换算成2,百位换算成4,千位换算成8

    十位换算成2,                                                                                                            因此例题中的数值   214

    百位换算成4      

    因此例题中的数值  1024

  • 相关阅读:
    PL/SQL编写的SQL语句插入SqlPlus时,报错 PLS-00302
    JTree实现电脑资源管理器
    【Machine Learning·机器学习】决策树之ID3算法(Iterative Dichotomiser 3)
    【Android】ViewModel+LiveData:更加直接地控制视图的方式
    【Android】Jetpack中的ViewModel:自动保存页面数据
    Android Studio项目/Flutter 案例中Gradle报错通用解决方案(包括Unable to tunnel through proxy问题)
    UITableView HeaderView,FooterView 使用SnapKit布局导致约束异常
    GCD的Queue-Specific
    2_Swift基本数据类型
    1_Swift概况
  • 原文地址:https://www.cnblogs.com/jingfengling/p/5778545.html
Copyright © 2011-2022 走看看