• 计算机基础---1、十进制0.1转二进制


    计算机基础---1、十进制0.1转二进制

    一、总结

    一句话总结:

    用脑子,10进制整数转2进制是除2,10进制小数转2进制是靠乘2取1

    二、十进制0.1转二进制

    进制转换
    0.1(十进制) = 0.0001100110011001(二进制)
    十进制数0.1转二进制计算过程:
    0.1*2=0.2……0——整数部分为“0”。整数部分“0”清零后为“0”,用“0.2”接着计算。
    0.2*2=0.4……0——整数部分为“0”。整数部分“0”清零后为“0”,用“0.4”接着计算。
    0.4*2=0.8……0——整数部分为“0”。整数部分“0”清零后为“0”,用“0.8”接着计算。
    0.8*2=1.6……1——整数部分为“1”。整数部分“1”清零后为“0”,用“0.6”接着计算。
    0.6*2=1.2……1——整数部分为“1”。整数部分“1”清零后为“0”,用“0.2”接着计算。
    0.2*2=0.4……0——整数部分为“0”。整数部分“0”清零后为“0”,用“0.4”接着计算。
    0.4*2=0.8……0——整数部分为“0”。整数部分“0”清零后为“0”,用“0.8”接着计算。
    0.8*2=1.6……1——整数部分为“1”。整数部分“1”清零后为“0”,用“0.6”接着计算。
    0.6*2=1.2……1——整数部分为“1”。整数部分“1”清零后为“0”,用“0.2”接着计算。
    0.2*2=0.4……0——整数部分为“0”。整数部分“0”清零后为“0”,用“0.4”接着计算。
    0.4*2=0.8……0——整数部分为“0”。整数部分“0”清零后为“0”,用“0.2”接着计算。
    0.8*2=1.6……1——整数部分为“1”。整数部分“1”清零后为“0”,用“0.2”接着计算。
    ……
    ……
    所以,得到的整数依次是:“0”,“0”,“0”,“1”,“1”,“0”,“0”,“1”,“1”,“0”,“0”,“1”……。
    由此,大家肯定能看出来,整数部分出现了无限循环。
    十进制小数转换成二进制数和十进制整数转换成二进制数不同。十进制整数转换成二进制数需要将得到的余数倒序排列,而十进制小数转换成二进制数只需要将得到的整数按照正常的顺序排列就行了。最后将十进制原数0.1中的整数部分“0”补充到按正常顺序排列的得到的“整数”前面,即:
    十进制数0.1对应的二进制数是
    0.000110011001……
    整数的转换是精确的,小数的转换可能出现无穷不循环小数或无限循环小数的情况。此时需要进行舍入处理以截断,所以小数的转换可能略有偏差。

     
  • 相关阅读:
    08 正则表达式
    07 函数&对象
    06 Math&Date&Json
    05 数组&字符串
    04 循环控制
    03 流程控制
    02 数据类型&运算符
    大道至简
    Avg_row_length是怎么计算的?
    理解innodb buffer pool
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/12324664.html
Copyright © 2020-2023  润新知