【问题】matlab中huffman编码结果用哪种数据类型?

小字 2011-02-21 02:31:50
比如,要对数值串 [22006 22006 44004 87999 175989] 进行huffman编码,下面左列是要编码的数值,右列是编码结果。
22006 1
44004 [0 0 1]
87999 [0 0 0]
175989 [0 1]
则原数值列的编码结果为:[1 1 0 0 1 0 0 0 0 1]

问题:
默认存储结果也用double表示,但编码结果有十个数值,待编码结果有五个数值,压缩结果比待编码占用的存储空间还大…… 这个问题怎么解决?
...全文
379 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
小字 2011-02-22
  • 打赏
  • 举报
回复
或者说给定一个0-1串,有没有什么办法可以节省它的存储空间?
小字 2011-02-21
  • 打赏
  • 举报
回复
补充一下:[1 1 0 0 1 0 0 0 0 1]是十个数
可不可以顺次读入N个,然后使用bin2num将其转换为int8/int16等类型数据, 以节省存储空间?

2,408

社区成员

发帖
与我相关
我的任务
社区描述
高性能计算
社区管理员
  • 高性能计算社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧