Floating point 一天结束时,程序如何持有浮动?

Floating point 一天结束时,程序如何持有浮动?,floating-point,Floating Point,背景:我是一名大一新生。我三周前刚进入大学,其中一个话题是关于数字。我们学习小数、二进制、十六进制、八进制、浮点等 在浮点运算中,教授解释说浮点存储在32位。使用以下规格 1位符号 7位-指数(超过31)(偏差) 24位分数 例如,如果我们在看 0000001 0000000000000000001 然后: 符号->0为正 指数->1-31=2^(-30) 所以结果是 10000000000000000000001 x 2^(-30) 对吗 我的问题: 在某一点上,某些东西应该将二进制转换为十进

背景:我是一名大一新生。我三周前刚进入大学,其中一个话题是关于数字。我们学习小数、二进制、十六进制、八进制、浮点等

在浮点运算中,教授解释说浮点存储在32位。使用以下规格

1位符号

7位-指数(超过31)(偏差)

24位分数

例如,如果我们在看

0000001 0000000000000000001

然后:

符号->0为正

指数->1-31=2^(-30)

所以结果是

10000000000000000000001 x 2^(-30)

对吗

我的问题:

  • 在某一点上,某些东西应该将二进制转换为十进制,对吗?计算机如何在浮点后面存储小数
  • 我的意思是,如果我是程序员,我会创建一个256个数字的数组来存储小数点后面的数字。0到9只需要4位

  • 如果我的If-I-were-a-programmer是正确的,那么为什么浮动精度错误出现在很早的地方呢?我的意思是,考虑到无理数的存在,毫无疑问,精度误差会出现在某个地方,但我预计浮动进动误差会出现在彗差后面的第256个数字

  • 你能推荐关于这个话题的额外阅读材料吗

  • 我试着去读,它谈到了求和的错误(可以理解),转换,但并没有真正提到做转换的程序。这个编译器是特定的吗


    谢谢你,这是一种不同寻常的格式。特别是,7位指数和超过31给出了相当不平衡的动态范围。对于问题3,请查看IEEE 754单精度浮点上的,但请记住,它与您上面描述的不完全匹配。(我有点怀疑你的教授实际上是想介绍IEEE 754单精度,但不知何故把规范弄错了。)IEEE 754一致浮点将有1个符号位、8个指数位和23个(如果你算上未存储的隐藏位,则为24个)有效位。指数的偏差为127,这使得范围相当平衡。我无法理解你们教授为什么使用略有不同的格式。请看这篇文章:。它用简单的话解释了如何将值5.2转换成浮点。我想我在笔记上写错了规格=/这是一种不寻常的格式。特别是,7位指数和超过31给出了相当不平衡的动态范围。对于问题3,请查看IEEE 754单精度浮点上的,但请记住,它与您上面描述的不完全匹配。(我有点怀疑你的教授实际上是想介绍IEEE 754单精度,但不知何故把规范弄错了。)IEEE 754一致浮点将有1个符号位、8个指数位和23个(如果你算上未存储的隐藏位,则为24个)有效位。指数的偏差为127,这使得范围相当平衡。我无法理解你们教授为什么使用略有不同的格式。请看这篇文章:。它用简单的话解释了5.2的值是如何转换成浮点数的。我想我在笔记上写错了规格=/