Floating point 根据exp和frac,位值和浮点的关系如何?假设我了解“如何”;s";作品

Floating point 根据exp和frac,位值和浮点的关系如何?假设我了解“如何”;s";作品,floating-point,Floating Point,所以,从程序员的角度来看,我仍然在研究计算机系统中的浮点运算,我在浮点运算方面做得更进一步 现在,我发现这是一个奇怪的集合: 0 0001 000=最小范数,其=0.015625 0 0110 110=第一个=0.875 现在,我知道第一个0只是s,接下来的4个0是exp,之后的3个是frac,我不完全理解的是它们背后的数学 例如,根据我所了解的二进制表示法,到目前为止,在0 0110中,110应该是53/256,但这与书中的M表示法(14/8)并不接近 然后我们有最小的法线,是9/8。我知道s

所以,从程序员的角度来看,我仍然在研究计算机系统中的浮点运算,我在浮点运算方面做得更进一步

现在,我发现这是一个奇怪的集合: 0 0001 000=最小范数,其=0.015625 0 0110 110=第一个=0.875

现在,我知道第一个0只是s,接下来的4个0是exp,之后的3个是frac,我不完全理解的是它们背后的数学

例如,根据我所了解的二进制表示法,到目前为止,在0 0110中,110应该是53/256,但这与书中的M表示法(14/8)并不接近


然后我们有最小的法线,是9/8。我知道s、exp和frac是如何表示的,但我仍然不完全清楚这些二进制表示来自何处

问题涉及一些未指定的8位浮点格式。假设此格式遵循IEEE-754二进制浮点格式设置的模式,我将回答这个问题

问题表明第一位是符号位,接下来的四位是指数位,最后三位是有效位(分数部分)。设s为符号位,e为指数位,f为有效位

在IEEE-754格式中,指数位是表示什么的关键:

  • 如果e中的所有位都为零,则对象表示零或低于正常值的数字
  • 如果e中的所有位都是一,则对象表示无穷大或NaN
  • 否则,该对象表示一个正常数
一旦确定了该分类,以下是如何确定正常数字的值:

  • 如果s为0或1,则符号s为+1或−分别为1
  • e的位被解释为一个二进制数字,并减去一些偏差以产生指数e。偏差是e的最大可能值的一半,向下舍入。例如,对于四位,最大值为11112,即1510。其中的一半,四舍五入,是7。因此,如果e的位为“0110”,则指数e为6−7 = −一,
  • 有效位F是通过形成一个以“1”开头的二进制数字,后跟F的位来计算的。F是这个二进制数字的值。例如,如果f为“110”,则形成数字“1.110”,其值为1+½+¼=1.75
  • 对象的位表示的值是S•2E•F。因此,对于位“0 0110 110”,表示的值是+1•2−1•1.75=0.875
从上面,我们可以看到最小的正标准数有符号位“0”、指数位“0001”(它不能是“0000”,因为这是次正常数)和有效位位“000”)。那么表示的值有符号+1,指数1−7 = −6和有效位1,因此该值为+1•2−6 • 1 = 2−6=.015625

以下是如何确定低于正常值的数值:

  • 如果s为0或1,则符号s为+1或−分别为1
  • 指数E的值与最小正常数的值相同。这是1减去偏差,所以E=1−7 = −六,
  • 有效位F是通过形成一个以“0”开头的二进制数字,后跟F的位来计算的。F是这个二进制数字的值
  • 由对象的位表示的值是S•2E•F
对于无限和非无限:

  • 如果f全为零,则该值为无穷大。它是+无限或者−根据位s的无穷大
  • 否则,该对象为NaN。IEEE-754并不严格,但是,如果f的第一位是1,则对象应表示安静的NaN。否则,它应该表示一个信令NaN。否则,f位可用于诊断或其他用途

您的问题涉及一些未指定的8位格式。这不是标准格式,所以其他人不熟悉。在询问有关非标准格式的问题时,应提供指定格式的所有信息。Re“0 0110 110应正确为53/256”。如果位序列“00110110”被解释为二进制数字,则它是54,而不是53。这不是一个“正确”与“错误”的问题;就其本身而言,一个位序列只是一个没有意义的位序列。我们通常选择使用一系列位来传递二进制数字,但我们也使用它们来传递字符、任意代码、浮点数据等等。解释浮点数据时出现的一些问题似乎是由于错误地假设位序列必须是二进制数字造成的。除了NAN和非规范化数字之外,序列难道不是二进制数字吗?序列只是一个列表。位序列是位的列表。如果在一月份的某个时候,我连续三天每天都往窗外看,如果地面上有雪,我就写1,如果没有雪,我就写0,我可能会得到一个位1 0 1的列表。这并不意味着五个。它不是二进制数字。这是一个比特列表。这个特别的列表是雪观测的记录。它并不意味着一个数字。没有五雪五物。它只是一点点。我们可以用一列位作为二进制数字,但一列位也可以表示许多其他的东西。