0

我正在优化我的算术压缩实现。我在下面包含了一个基本的算术编码算法:

lower bound = 0
upper bound = 1

while there are still symbols to encode
  current range = upper bound - lower bound
  upper bound = lower bound + (current range × upper bound of new symbol)
  lower bound = lower bound + (current range × lower bound of new symbol)
end while

我有一个想法来四舍五入我的值,但要这样做,上限的计算不能使用下限值。我不知道该怎么做。

更多信息:我计划将下限向上舍入,缩小范围,从而保持精度,同时让我的数字的位数更少。然后以相同的方式将我的上限向下舍入。但是,如果我们增加下限的值,上界的计算会使它增加,从而使算法不正确。

我的问题是:如何在不使用下限的值的情况下计算上限?

4

1 回答 1

0

关于将字符串向左移动,请使用: string.substring(1)

于 2013-06-23T04:26:59.073 回答