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

    进制!基础的基础,搞清楚其中的原理之后就不觉得难的了

    下方灵魂画手出现!!!

    一.进制的概念

    十进制:逢十进一,借一当十!有十个数值位,0-9

     二进制:逢二进一,借一当二!有两个数值位,0和1

    计算机中,常见的还有8进制和16进制!

    其中,

    2进制的数值是0和1

    10进制数值是0-9

    8进制的数值位为0-7

    16进制的数值位为0-F,从10开始用字母代替,10:A,15:F

     

    二、十进制之间的转换

    为了使各自进制之间可以互相的转换,引入了权的概念:

    1234.5610 = 1*103 + 2*102 + 3*101 + 4*100 + 5*10-1 + 6*10-2

    上面所有标红的,都叫做十进制的权!

     其他各自进制转换为十进制,都是按权展开:

     比如:

    2进制转10进制

    (1101.11)2 = 1*23 + 1*22 + 0*21 + 1*20 + 1*2-1 + 1*2-2 = (13.75)10

    8进制转10进制

    1234.568 = 1*83 + 2*82 + 3*81 + 4*80 + 5*8-1 + 6*8-2

    16进制转10进制

    1234.5616 = 1*163 + 2*162 + 3*161 + 4*160 + 5*16-1 + 6*16-2

     三.进制与进制转换

    (1)十进制转二进制:

     需要整数部分和小数部分分别转换!

     整数部分转换为二进制:

    1,  除二取余法:不停的除以2,不停的取余数,一直到商为0为止,然后从下往上依次取得余数即可!

    2,  填充法(填“1”法)

    拿67为例:

    除二取余法:

    所以,(67)10 = (1000011)2   

    注:(67)10 = (1000011)2   的意思是67是10进制数值,它的二进制数值是1000011

    填充法:

     (13)10= 1*23 + 1*22 + 0*21 + 1*20 =(1101)2  

    例子1:(67的二进制)

    例子2:(769的二进制)

    (2)小数部分转换为二进制:

    乘二取整法!

    不停的拿小数乘于2,不停的取走它的整数部分(注意是取走整数留0),如果取成了0.0就可以结束了,然后是从上往下依次取得整数部分即可!

     

    (0.75)10 = (0.11)2

    注意:不是每一个小数都可以百分百精确的转换为二进制,我们一般精确到后小数点后5位!

    该小数是:0.10101

    (3)十六进制与十进制的互转

    八与十六进制转换为十进制都是按权展开!

    十进制转换为八进制与十六也是整数部分与小数部分分开转换: 

    a.十进制转八进制:整数部分就是除8取余,小数部分是乘8取整

    最后(57.25)10 = (71.2)8

    b.十进制转十六进制:整数部分就是除16取余,小数部分是乘16取整

    (57.25)10 = (39.4)16

    (4)二进制与八进制互转

    注意:

    上面的所有的除X取余和乘X取整都只适合十进制与其他进制之间的互转!

     有一个方法就是以十进制作为中间的桥梁!但是不建议!

    数数(计数)

    二进制

    八进制

    0

    000

    0

    1

    001

    1

    2

    010

    2

    3

    011

    3

    4

    100

    4

    5

    101

    5

    6

    110

    6

    7

    111

    7

    8

    1000

    10

    9

    1001

    11

    a.八进制转二进制:其实就是一拆三!

    b.二进制转八进制:其实就是三并一!

    (5)二与十六之间的互转

    数数(计数)

    二进制

    十六进制

    0

    0000

    0

    1

    0001

    1

    2

    0010

    2

    3

    0011

    3

    4

    0100

    4

    5

    0101

    5

    6

    0110

    6

    7

    0111

    7

    8

    1000

    8

    9

    1001

    9

    10

    1010

    A

    11

    1011

    B

    12

    1100

    C

    13

    1101

    D

    14

    1110

    E

    15

    1111

    F

    16

    10000

    10

    17

    10001

    11

    所以:

    a.十六进制转二进制:其实就是一拆四

    b.二转十六:其实就是四并一

    (6)八进制与十六进制之间的互转

    a.八进制转十六进制:先一拆三,再四并一

       

    (763.24) 8 = (159.108)16=(E9.A8)16

    b.十六进制转八进制:先一拆四,再三并一

    (BFD.9C)16 = (5773.470)8

     到了这里进制间的互相转换完毕

     

  • 相关阅读:
    发音技巧
    SCROM标准和一些概念(转)
    我要告诉测试新手的 (转)
    LCMS与LMS
    SCORM标准的LMS ELearning 学习平台介绍
    【转载】经常在网上看人家的帖子,分享给组里面的兄弟共赏
    选择学习管理系统(LMS)不可忽略的十大要素
    委托(delegate)的使用
    LMS/LCMS相关概念简介
    软件测试
  • 原文地址:https://www.cnblogs.com/mrszhou/p/7425044.html
Copyright © 2011-2022 走看看