二进十进制译码器难点(二进制与十进制互相转化)

本文功能:浮点数0.1 0.2 不等于 0.3的前置知识点,我来为大家讲解一下关于二进十进制译码器难点?跟着小编一起来看一看吧!

二进十进制译码器难点(二进制与十进制互相转化)

二进十进制译码器难点

本文功能:

浮点数0.1 0.2 不等于 0.3的前置知识点

我们知道js存储number类型的数据采用的是IEEE 754双精度(64位),我们了解到对应存储原理,才能具体解释0.1 0.2 不等于 0.3

组成

描述

位数

位置

sign

符号,0表示正,1表示负

1bit

63

exponent

指数部分

11bit

52-62

fraction

小数部分

52bit

0-51

计算公式A:

看完公式我们举个栗子:

var a = 2

具体的思路: 将10进制转换为二进制, 二进制使用科学计数法表示。

根据公式即可得出结果

最终结果:

一、十进制转二进制

整数:

1.将十进制数用2整除法,得到商和余数

2. 继续用商用2整除法,直到商小于1

3. 从下到上依次写余数便得到转化后的二进制

例如: 9转二进制

浮点数:

  1. 将数拆为整数和小数部分

  2. 整数用整数整除2法则

  3. 小数部分乘2 ,取出对应的整数部分

  4. 执行3点,直到值小数部分等于0或者达到所求有效位数

  5. 从上到下每次乘二的整数部分即为转化后的小数部分二进制

例如:9.3转二进制

整数部分二进制为:1001

小数部分转化过程:

由上图可知转化为二进制的小数是 01 1011 1011...(1011的无限循环)

最终的转化为: 1001.011001(这是保留6位小数)

  1. 二进制转十进制

整数计算:

浮点数:

1.将数拆为整数和小数部分

2.整数用整数计算方式

3.小数按照下图计算

例如二进制数:0.111

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页