十进制转二进制

十进制转二进制分为整数转二进制,和小数转二进制,一个数的整数部分和小数部分分开转再合到一起

 整数转二进制

  • 采用"除2取余,逆序排列"法
  • 直到整数部分为零
  • 1/2=0余1

例如 十进制的10转成二进制

10/2=5-余0

5/2=2--余1

2/2=1--余0

0/2=0--余1

从下往上看就是1010

小数转二进制

  • 采用"乘2取整,顺序排列"法
  • 直到积中的小数部分为零,此时0或1为二进制的最后一位,或者达到所要求的精度为止

假如 十进制的0.25转为二进制

0.25*2=0.5--整数值-0

0.5*2=1.0---整数值-1

从上往下看就是0.01

 

 

计算机底层存储都是基于二进制的,需要事先由十进制转换为二进制存储与运算,这整个转换过程中,类似于 0.1、0.2 这样的数是无穷尽的,无法用二进制数精确表示。JavaScript 采用的是 IEEE 754 双精确度标准,能够有效存储的位数为 52 位,所以就需要做舍入操作,这无可避免的会引起精度丢失。另外我们在 0.1 与 0.2 相加做对阶、求和、舍入过程中也会产生精度的丢失。

posted @ 2021-12-16 10:55  瑞瑞大人  阅读(1220)  评论(0编辑  收藏  举报