二进十进制译码器难点(二进制与十进制互相转化)
本文功能:浮点数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转二进制
浮点数:
- 将数拆为整数和小数部分
- 整数用整数整除2法则
- 小数部分乘2 ,取出对应的整数部分
- 执行3点,直到值小数部分等于0或者达到所求有效位数
- 从上到下每次乘二的整数部分即为转化后的小数部分二进制
例如:9.3转二进制
整数部分二进制为:1001
小数部分转化过程:
由上图可知转化为二进制的小数是 01 1011 1011...(1011的无限循环)
最终的转化为: 1001.011001(这是保留6位小数)
- 二进制转十进制
整数计算:
浮点数:
1.将数拆为整数和小数部分
2.整数用整数计算方式
3.小数按照下图计算
例如二进制数:0.111
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com