• C认证笔记 - 计算机通识 - 进制转换


    计算机通识

    1:进制转换

    关键词:进制转换、进制

    1.0 任务目标

    • 理解二进制/八进制/十进制/十六进制的原理;
    • 掌握各种不同的进制间的转换方法。

    1.1 进制的定义

    二进制:是指在数学和数字电路中以2为基数的记数系统,二进制只有0和1两个数字符号,其运算规律是逢2进1,例如101101。为了与其他进制区别,二进制数的后缀都用大写字母B,例如101101B。

    八进制:一种以8为基数的计数法,采用0,1,2,3,4,5,6,7这八个数字符号,其运算规律是逢8进1,例如77。为了与其他进制区别,八进制数的后缀都用大写字母O(不是数字0),例如77O。

    十进制:一种以10为基数的计数法,采用0,1,2,3,4,5,6,7,8,9这十个数字符号,其运算规律是逢10进1,例如88。为了与其他进制区别,十进制数的后缀都用大写字母D,例如88D。

    十六进制:一种以16为基数的计数法,采用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F这十六个数字和字母符号,其运算规律是逢16进1,例如9527。为了与其他进制区别,十六进制数的后缀都用大写字母H,例如9527H。

    1.2 各进制间的转换方法

    1.2.1 「二进制」转「十进制」

    使用位置计数法,以2为底数,从左到右指数依次是0,1,2,3,4,5,6,7

    例如:

    二进制:1011B
    
    转化为十进制就是:
    
    $$1011B = 1*2^{3} + 0 * 2^{2} + 1 * 2^{1} + 1 * 2^{0} = 11D$$
    
    上述结果也就是二进制的1011转换为十进制的11。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    1.2.2 「二进制」转「八进制」

    采用三合一法,也就是从二进制的最右边开始,向左每三位对应八进制的一位,不足三位的前面进行补 0 操作。

    例如:

    二进制:10110011B
    
    我们将其拆分为:(0)10、110、011
    
    - 010 是十进制 2 ,是八进制 2 
    - 110 是十进制 6 ,是八进制 6
    - 011 是十进制 3, 是八进制 3
    
    所以最终结果就是二进制的10110011转换成八进制的263,记作263O。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    1.2.3 「二进制」转「十六进制」

    采用四合一法,也就是从二进制的最右边开始,向左每四位对应十六进制的一位,不足四位的前面进行补 0 操作。

    例如:

    二进制:10110011B
    
    我们将其拆分为:1011、0011
    
    - 1011 是十进制 11,是八进制 B
    - 0011 是十进制  3,是八进制  3 
    
    所以最终结果就是二进制的10110011转换成十六进制的B3,记作B3H。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    1.2.4 「十进制」转「二进制」

    转换原理是:除以2,反向取余数,直到商为0终止。

    例如:

    十进制的 11

    11/2 = 5……1
    5 / 2 = 2……1
    2 / 2 = 1……0
    1 / 2 = 0……1

    反向取余数就是 1011,所以就转换为二进制的 1011。

    在这里插入图片描述

    1.2.5 「十进制」转「八进制」

    转换原理是:除以8,反向取余数,直到商为0终止。

    例如:

    十进制的 730

    730/8 = 91……2
    91 / 8 = 11……3
    11 / 8 = 1……3
    1 / 8 = 0……1

    反向取余数就是 1332,所以就转换为八进制的 1332。

    在这里插入图片描述

    1.2.6 「十进制」转「十六进制」

    转换原理是:除以16,反向取余数,直到商为0终止。

    例如:

    十进制的 730

    730/16 = 45……10
    45 / 16 = 2……13
    2 / 16 = 0……2

    反向取余数就是 2 - 13 - 10,所以就转换为八进制的 2DA。

    在这里插入图片描述

    1.2.7 「八进制」转「二进制」

    原理:八进制的一位是二进制的三位。

    例如:

    八进制的37,

    3 转换为 二进制的 011,

    7 转换为 二进制的 111,

    所以就转换为二进制的011 111。

    在这里插入图片描述

    1.2.8 「八进制」转「十进制」

    使用位置计数法,以8为底数,从左到右指数依次是0,1,2,3,4,5,6,7

    例如:

    八进制的345,

    345 O = 3 ∗ 8 2 + 4 ∗ 81 + 5 ∗ 80 = 229 D 345O = 3*8^{2} + 4*8{1} + 5*8{0} = 229D 345O=382+481+580=229D

    所以,也就是转换为十进制的 229。

    在这里插入图片描述

    1.2.9 「八进制」转「十六进制」

    这里就需要间接进行转换,可以将 八进制 先转换为 十进制/二进制,再转换为 十六进制

    1.2.10 「十六进制」转「二进制」

    原理:十六进制的一位是二进制的四位。

    例如:

    十六进制的37,

    3 转换为 二进制的 0011,

    7 转换为 二进制的 0111,

    所以就转换为二进制的0011 0111。

    在这里插入图片描述

    1.2.11 「十六进制」转「八进制」

    这里就需要间接进行转换,可以将 十六进制 先转换为 十进制/二进制,再转换为 八进制

    1.2.12 「十六进制」转「十进制」

    使用位置计数法,以16为底数,从左到右指数依次是0,1,2,3,4,5,6,7

    例如:

    十六进制的345,

    345 O = 3 ∗ 1 6 2 + 4 ∗ 161 + 5 ∗ 160 = 837 D 345O = 3*16^{2} + 4*16{1} + 5*16{0} = 837D 345O=3162+4161+5160=837D

    所以,也就是转换为十进制的 837。

    在这里插入图片描述

  • 相关阅读:
    力扣--深度优先算法/回溯算法77.组合
    pNA修饰肽:Z-FLE-pNA,Z-Phe-Leu-Glu-pNA,CAS号: 104634-10-8
    2万字带你从0到1搭建一套企业级微服务安全框架
    Excel中行列范围的转换
    VS2022配置wxWidgets 3.0.5
    AWS SAP-C02教程11-解决方案
    在Spring Boot中使用POI完成一个excel报表导入数据到MySQL的功能
    飞腾 kylin-server v10 arm64 aarch64 anaconda3 conda 非法指令 Illegal instruction 笔记
    SolidWorks to URDF转换及常见机器人模型
    Open Interpreter:OpenAI Code Interpreter的开源实现|本地化|可联网
  • 原文地址:https://blog.csdn.net/qq_40249337/article/details/125474054