早教吧作业答案频道 -->其他-->
算术编码的解码问题假设我源码是ABADCAEABE那么我通过算术编码得到的是0.18442815,再用0.18442815解码,就可以得到源码了.这是因为0.18442815很短.假设0.18442815后面还有1000位,那么我就不能用一个doubl
题目详情
算术编码的解码问题
假设我源码是ABADCAEABE那么我通过算术编码得到的是0.18442815,再用0.18442815解码,就可以得到源码了.这是因为0.18442815很短.假设0.18442815后面还有1000位,那么我就不能用一个double型来存它了,我把它小数点后面的数用相应的十六进制数来表示(2F36BA……)那么解码的时候我也不可能一次计算得到0.18442815…….所以我只能一次读一个,比如先读2,再读F,再读3……
但是每次新添加进来的数都要除以之前所有的range的值,就会有溢出的问题.
或者谁有编解码的程序能传给我啊,或者告诉我链接(不要那种输入很短的,不要手动输入的,要可以读入文件,输出文件,无损编码的)
假设我源码是ABADCAEABE那么我通过算术编码得到的是0.18442815,再用0.18442815解码,就可以得到源码了.这是因为0.18442815很短.假设0.18442815后面还有1000位,那么我就不能用一个double型来存它了,我把它小数点后面的数用相应的十六进制数来表示(2F36BA……)那么解码的时候我也不可能一次计算得到0.18442815…….所以我只能一次读一个,比如先读2,再读F,再读3……
但是每次新添加进来的数都要除以之前所有的range的值,就会有溢出的问题.
或者谁有编解码的程序能传给我啊,或者告诉我链接(不要那种输入很短的,不要手动输入的,要可以读入文件,输出文件,无损编码的)
▼优质解答
答案和解析
给你几点思路:
1:所谓的编码解码可以约看于压缩和解压缩,无论是哪种编码方式,都不可能是对所有字串或者关键串全部通过一组运算来得到key的?首先这已经是一种,无论从运算量、时间量、空间量都不允许这样做,好比如你要求计算机计算
两位数乘两位数,这样的要求还是绝对可以完成的,但是要求几千位数同时乘几千位数,那计算机怎么乘?怎么运算?现在的cpu包括所谓4核的芯,都不可能出现能实现这个要求的指令,而答案必然是分组分部计算,不可能同时运算的.
2:结合第一点的结论,也就是你再算术编码的时候的运算公式是什么,然后你得人为的把它拆分,让字串能每读取一部分的串通过运算累加后也能得到结果.
通过这一步骤你不需要全部读完所有的字串,只需要读取一部分运算,再读部分运算,从而累加结果.
3:无论是字串还是key都是以char[]来存储的,因为能开辟的空间较大,同时也是有限的,看你的堆栈设置,当然一般来说完全够用了,你要是在运行中还出现溢出,那么请你回头考虑的你的算法和解码过程了
1:所谓的编码解码可以约看于压缩和解压缩,无论是哪种编码方式,都不可能是对所有字串或者关键串全部通过一组运算来得到key的?首先这已经是一种,无论从运算量、时间量、空间量都不允许这样做,好比如你要求计算机计算
两位数乘两位数,这样的要求还是绝对可以完成的,但是要求几千位数同时乘几千位数,那计算机怎么乘?怎么运算?现在的cpu包括所谓4核的芯,都不可能出现能实现这个要求的指令,而答案必然是分组分部计算,不可能同时运算的.
2:结合第一点的结论,也就是你再算术编码的时候的运算公式是什么,然后你得人为的把它拆分,让字串能每读取一部分的串通过运算累加后也能得到结果.
通过这一步骤你不需要全部读完所有的字串,只需要读取一部分运算,再读部分运算,从而累加结果.
3:无论是字串还是key都是以char[]来存储的,因为能开辟的空间较大,同时也是有限的,看你的堆栈设置,当然一般来说完全够用了,你要是在运行中还出现溢出,那么请你回头考虑的你的算法和解码过程了
看了 算术编码的解码问题假设我源码...的网友还看了以下:
下表为我国部分自然资源的基本国情,读表完成5-6题.自然资源水矿产森林耕地总量在世界上的位次636 2020-05-13 …
下表为我国部分自然资源的基本国情,读表完成14、15题.自然资源水矿产森林耕地总量在世界上的位次6 2020-05-13 …
把下面每组中的两个数化成分母相同的假分数 又7分之4和1 5和1又5分之1 2又3分之1和2把下面 2020-05-16 …
电动自行车所消耗的能源属于()1.一次能源2.二次能源3.可再生能源4.非再生能源5.常规能源6. 2020-06-27 …
一信息源由4个符号a、b、c、d组成,它们出现的概率为3/8、1/4、1/4、1/8,且每个符号的 2020-07-07 …
2.资源枯竭和环境破坏都有哪些表现?资源枯竭环境破坏(1)减少(2)土地荒漠化(3)短缺(4)能源匮 2020-11-04 …
网页实现公司的工资计算工资算法:举例:2014年10月,某员工国庆休假7天(其中1-3日为法定假,4 2020-11-06 …
(2011•惠州)珠江禁渔期是每年的4月1日至6月1日,期间禁止一切捕捞行为.此举目的是()A.增加 2020-11-12 …
1)13*(7分之6-5分之4)()13*7分之6-5分之4(括号天大于小于或等于)2)六(1)班有 2020-12-20 …
阅读教材相关内容,描述生命起源的假说:1.神创论:生命由或创造。2.自然发生论:生命由随时自发地发生 2020-12-23 …