代码之家  ›  专栏  ›  技术社区  ›  user

有理数向量的位编码

  •  3
  • user  · 技术社区  · 6 年前

    我想为有理数结构实现超紧凑存储。

    在Alexander Schrijver的《线性和整数规划理论》一书中,我找到了位大小的定义(第页)。15) 的 rational number

    bit sizes of rational, vector and matrix

    有理数的表示很清楚:符号用一位表示,商和分数用对数表示。

    n 如何区分其元素? 例如,如果我想写两个元素的向量: 524 = 1000001100b 42 = 101010b . 如何仅使用2个附加位来指定时间 1000001100 101010 开始?

    2 回复  |  直到 6 年前
        1
  •  2
  •   Reinhard Männer    6 年前

    当然,不可能只将整数表示形式附加到另一个表示形式上,并添加有关合并位置的信息,因为这将比书中的公式(我无法访问)所给出的要多得多。
    我相信这是编码理论的问题,我不是专家。但我发现了一些东西也许能给你指明正确的方向。在 this post
    f(要编码的整数个数,都在[1,N]=2的范围内)
    N=524个
    编码的2个整数的最大位长度是

    因此, 为了拥有超紧凑的编码,尽管人们不得不花费大量的时间进行编码和解码。

        2
  •  0
  •   inyoot    6 年前
    推荐文章