无心人 发表于 2008-11-29 10:53:23

算术编码问题

看有人讨论mathe的签名
忽然想到一个制作这种数字签名的方法

使用算术编码,对不超过256个字符的一个字符串进行压缩
得到一个小数,则成为类似mathe的签名样式的编码

现在谁写一个高效的程序,输入字符
输出对应的小数的十进制表示

suan1024 发表于 2008-11-29 13:29:27

反过来,将一个N位长的小数解码成一个唯一的N位字符串。
如果不要求解码,楼主的问题很简单。
只要根据字符的特性分类,用某种对应的数学函数求出小数值然后加起来,将整数部分右移,得到最终的数字。

仙剑魔 发表于 2008-11-29 23:27:50

偶比较喜欢Range Coding...
偶目前有O(nlogm)的编码和O(nlogmlogm)的解码(n是长度,m是范围)...
输出对应的小数的十进制表示那不是还要把2进制结果转化到10进制...

无心人 发表于 2008-11-30 09:12:04

当然是10进制
呵呵
主要是
1、这个比较有意思
2、数字总是神秘的,特别是神秘的长小数
3、体现本论坛特点

仙剑魔 发表于 2008-11-30 15:42:21

其实那个编码原理很简单的
根据概率分布把空间划分就可以了
我目前就想知道怎么能快速得到最优的分布...
页: [1]
查看完整版本: 算术编码问题