我正在致力于优化我的算术压缩实现。我在下面包含了一个基本的算术编码算法:
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我有一个取整我的值的想法,但要这样做,上限的计算不能使用下限值。我不知道该怎么做。
更多信息:我计划将下限四舍五入,缩小范围,从而保持精度,同时使我的数字具有较少的数字。然后以同样的方式舍入我的上界和下界。然而,上界的计算使得它变得更大,因此如果我们增加下界的值,那么它就会增加,从而使算法不正确。
我的问题是:我如何计算上限,而不使用下限的值?
发布于 2013-06-23 12:26:59
关于将字符串向左移动,请使用: string.substring(1)
https://stackoverflow.com/questions/15533423
复制相似问题