• Windows与网络基础-25-二进制基础


    二进制基础

    目录

     一、计算机数制

    1.1 概念

    1.2 十进制(Decimal system)

    1.3 二进制(Binary system)

    1.4 八进制(Octal)

    1.5 十六进制(Hexadecimal)

    二、进制转换

     2.1 十进制和二进制互转

    2.2 十进制和八进制互转

    2.3 十进制和十六进制之间转换

    2.4 扩展

    2.5 二进制优点


    目标:

    1. 理解计算机的数制
    2. 会进行二进制,十进制,十六进制相互转换

    为什么会使用二进制

    在计算机上,计算机不能识别十进制数,只能识别01码,即二进制数。由0,1的两位数字组成。

     一、计算机数制

    1.1 概念

    举例:189

    数制:计数的方法                                           十进制

    数位:数字符号在一个数中所处的位置         百位、十位、个位

    基数:数位所能够使用的数字符号的个数     0~9

    位权:数位所代表的大小             100、80、9

    1.2 十进制(Decimal system)

    在十进制数制系统中,包含10个数字(0~9)

    以189为例

    1   8   9

    9代表第一位,8代表第二位,1代表第三位

    表示方式:   (189)10  (189)D

    1.3 二进制(Binary system)

    在二进制的数制系统中,只包含两个数字(0、1)

    以:1001100为例

    表示方式: (1010)2   (1010) B

    1.4 八进制(Octal)

    在八进制的数制系统中只包含(1~7)

    以123(8)

    表示方式:(123)8    (123) O

    1.5 十六进制(Hexadecimal)

    十六进制数制系统中,基数是16

                                             10 11 12 13 14 15

    包含的数字(0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F

    举例:F  3  A

    15 3 10

    表示方式:(F3A)16   (F3A)H   0X开头 比如(F3A)H  0XF3A

    二、进制转换

     2.1 十进制和二进制互转

    十进制转二进制

    (除二取余法)

    整数

    除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数

    结果是:反向取余

    小数:

    乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零为止。读数,从第一位读起,读到最后一位。如果小数部分永不为0,按精确度四舍五入

    结果是:正向取余

    二进制转十进制

    整数部分:从右至左,进制数第一位的权值是2^0 第二位是2^1 以此计算,公式:第N位为2^n-1

    小数部分:从左至右,进制数第一位的权值是2^-1 第二位是2^-2 以此计算,公式:第N位为2^-n

    1111 (o)=1x2^0+1x2^1+1x2^2+1x2^3=15(D)

    0.101(o)=1*2^-1+0*2^-2+1*2^-2=0.625(D)

    2.2 十进制和八进制互转

    整数部分

    除八取余法

    10进制数转换成8进制的方法,和转换为2进制的方法类似,唯一变化:将图1中的基数由2变成8,然后依次计算。

    小数部分

    乘八取整法,也就是说小数部分乘以8,然后取整数部分,再让剩下的小数部分再乘以8,再取整数部分,以此类推,一直乘到小数部分为零为止。

    八进制转十进制

    整数部分:从右往左第一位的权值为8^0第二位权值为8的1次方,第3位权值为8的2次方,依次计算,公式:第N位 * 8的N-1次方,结果再相加便是最后结果

    小数部分:从左至右,进制数第一位的权值是8-1 第二位是8-2 以此计算,公式:第N位为8^-n

    72.45(o)转十进制

    7*8^1+2*8^0+4*8^-1+5*8^-2

    152(O)

    2x8^0+5x8^1+1x8^2=16+40+64=106

    2.3 十进制和十六进制之间转换

    十进制--->十六进制:

    整数部分

    除16反向取余法

    10进制数转换成16进制的方法,和转换为2进制的方法类似,唯一变化:将图中的基数由2变成16,然后依次计算。

    小数部分:

    正向取整法

    乘16取整法,也就是说小数部分乘以16。然后取整数部分,再让剩下的小数部分再乘以16再取整数部分,以此类推,一直乘到小数部分为零为止。

    十六进制--->十进制:

    第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方,依次计算,公式:第N位 * 16的N-1次方,结果再相加便是最后结果。

    50.52(h)

    5x16^1+0x16^0+5x16^-1+2x16^-2

    2.4 扩展

    十进制转任何进制都用反除反向取余,小数用正向取整法

    一个1位的十六进制=一个四位的二进制

    一个1位的八进制=一个三位的二进制

    二进制和八进制之间转换: 可先转换为十进制在转换为二进制或者八进制

    二进制和十六进制之间转换: 可先转换为十进制在转换为二进制或者十六进制

    八进制和十六进制之间转换: 可先转换为十进制在转换为十六进制或者八进制

    2.5 二进制优点

    易于实现、只有两种状态表示

    运算简单 更容易实现逻辑运算

    0+0=0   0+1=1  1+0=1  1+1=0

    0*1=0  1*0=0; 1*1=1​  0*0=0

  • 相关阅读:
    【BOOST C++ 12 函数式编程】(4) Boost.Ref
    用于非线性时间序列预测的稀疏局部线性和邻域嵌入(Matlab代码实现)
    深入浅出索引(下)
    规则引擎简介
    VoLTE端到端业务详解 | 用户标识类
    最小二乘法与极大似然估计
    【VUE3】--创建vue-cli项目,setup+ref+reactive+vue2/vue3响应式原理【练习代码已上传至Gitee】
    在Windows10中打开控制面板的5种方法以及如何设置环境变量
    解决yarn下载的具体操作步骤
    OpenGL纹理转换谜团:纹理写入FRAMEBUFFER后的镜像现象
  • 原文地址:https://blog.csdn.net/weixin_46232917/article/details/126793814