Math 这个编码有名字吗?(位表示从最高有效到最低有效除以2)

Math 这个编码有名字吗?(位表示从最高有效到最低有效除以2),math,encoding,floating-point,Math,Encoding,Floating Point,我正在研究一个规范,它要求以某种方式表达一个分数(时间戳的亚秒部分),这种方式可以以一定的精度(位数)编码,然后使用前导位解码,以获得大致相同的分数 其目的是允许不同的系统支持不同的时间戳精度。一些系统的时间戳精度可能只有毫秒,其他系统的时间戳精度可能是纳秒或更高。此外,附加的随机数据存储在该值之后,并且由于空间限制,解析器无法在所有情况下知道亚秒精度与随机数据的精确描述。解析应该仍然能够正常工作,并获得“尽可能精确”的时间戳 编码的灵感来源于IEEE 754浮点数,基本上将每个连续位视为表示下

我正在研究一个规范,它要求以某种方式表达一个分数(时间戳的亚秒部分),这种方式可以以一定的精度(位数)编码,然后使用前导位解码,以获得大致相同的分数

其目的是允许不同的系统支持不同的时间戳精度。一些系统的时间戳精度可能只有毫秒,其他系统的时间戳精度可能是纳秒或更高。此外,附加的随机数据存储在该值之后,并且由于空间限制,解析器无法在所有情况下知道亚秒精度与随机数据的精确描述。解析应该仍然能够正常工作,并获得“尽可能精确”的时间戳

编码的灵感来源于IEEE 754浮点数,基本上将每个连续位视为表示下一部分是否高于或低于除以2的值。所以给定一位,可能的值是0=.0和1=.5。对于两位,组合为00=0.0、01=0.25、10=0.5、11=0.75。等等


我的问题是:这叫什么?我觉得在描述这种编码/解码时,一定有一些我不知道的现有技术可以参考。

这只是标准的位置符号

在baseb中放置符号基本上是这样工作的:您有一个“十进制”点(在本例中,它不是真正的十进制,因为“十进制”表示“十”)。小数点正左边的位置具有值p0×b0,其中p0是写入位置0的值。其左侧的位置具有值p1×b1,然后接下来具有值p2×b2,依此类推;位置n的值为pn×bn

同样,直接在点的右侧,有p-1×b-1,然后是p-2×b-2,依此类推;位置-n的值为p-n×b-n

或者换句话说:位置符号在点的两侧的作用完全相同

这个数字的总值就是所有地方的值之和

例如,在base-10中(即b=10),它看起来如下所示:

123.45

  • 3×100=3×1=3+
  • 2×101=2×10=20+
  • 1×102=1×10×10=1×100=100+
  • 4×10-1=4×1∕10 = 4∕十,+
  • 5×10-2=5×1∕10 × 1∕10 = 5 × 1∕100 = 5∕一百
  • =3+20+100+4∕10 + 5∕100=3+20+100+0.4+0.05=123.45
  • [假设所有数字均以10为基数。]

    这就是位置表示法的工作原理,您有完全相同的东西,但是使用b=2


    换句话说,您的表示就是字面上的“用二进制写下数字”。更准确地说,用隐式
    0写下小数部分。
    开头。

    有趣。你说得对,这和“小数点后的数字(小数部分)是完全一样的,但是是用二进制(基数2)写的”。谢谢