文档章节

计算编码(用整数替换小数快速计算方法)

lu62
 lu62
发布于 2017/07/19 15:31
字数 479
阅读 3
收藏 0

多谢    http://blog.sina.com.cn/hathuang" 小石的博客 启发,苦钻几天转换方法才破解。

1.创建字节概率表,记录字节所在区间(of开始位置,hf结束位);

2.遍历全部数组,每次左移直到(of-hf>总数)影射区(每次取of加在影射区)同步左移,

of<<=1,hf<<=1,如果概率大   of-hf大移动很小位 就使子区间大于总数,也就是小的位数可以表达信息的熵概念。 
3.保在全部溢出的(在影射区中的位的信息of)以及剩下数位。

  如有sasdaadhn在概率表

开始位置   后靣开始---本结束位置 概率(出现数)///需要移动
s/0-00000000 2-00000010-00000000 2///3
a/2-00000010 5-00000101-00000010 3///2
d/5-00000101 6-00000111-00000101 2///3
h/7-00000111 7-00001000-00001001 1///3
n/7-00001000 8-00001000-00010001

 

1///4
     
     

 

of-hf>总数 结束后影射区同步左移  
0000000000000000000000000000000移3位+s开始(00000000)也为0 s+00000000
0000000000000000000000000001000加a开始位2(00001000) a+00001000
0000000000000000000000001000000加s移3位加(00000000) s+000000000
0000000000000000000001000101000加d移动3位(00101000) 00000101
0000000000000000000100010101000加a移2位(00001000) 00000010
0000000000000000010001010101000加a2位(00001000) 00000010
0000000000000010001010101101000加d移2位(00101000) 00000101
0000000000010001010101101111000加h移3位(00111000) 00000111
0000000100010101011011111000000加n移4位(10000000) 00001000

  上表最后1行即是压宿数据。解 码过程用前数同样同步左移直到hf-of>总数,影射数据-of剩下即是下1个字节位置,取该位置hf-of移位直到在于总数,用影射区数-of得下一个开始位数,直到结束,因为压宿数据中重叠成分,左移后减去了 前一个of同步左移即是该字节在概率表位置,也是压宿后数组保在第一字节数可得对应of和hf。同样保存概率表信息


更详细代码   html://lue62.cn:8080/index.html  

© 著作权归作者所有

共有 人打赏支持
lu62
粉丝 0
博文 1
码字总数 479
作品 0
肇庆
站在 Java 的肩膀上学 Python (二)

这一篇主要是 Python 中对字符串的处理 ord() 函数 和 chr() 函数 对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符: 如果知道字符的整数编...

Xiao_Mai
2017/08/06
0
0
shell脚本中比较、运算以及格式

http://www.njava.com/njava-tag/%E8%84%9A%E6%9C%AC 比较: 方法一: if [ ${A} -lt ${B} ]; then … 这是最基本的比较方法,使用lt(小于),gt(大于),le(小于等于),ge(大于等于),优点:还没...

AlphaJay
2012/03/06
0
0
笔记——《C程序性能优化》[日】片山善夫

变量与寄存器 未指定优化选项时,编译器会将程序中的变量储存到内存上,程序在执行相关运算时会根据需要装载到寄存器,当运算结束后再将运算器上的内容移到内存,然后生成目标代码。 但如果指...

zray4u
2016/07/04
33
0
读《程序员的SQL金典》[2]--函数

一、数学函数 1.RAND SELECT RAND () ---0.302870228294199 取0-1之间的随机小数。 2.小数取整 CEILINT(data)舍掉小数部分并向上取整。 FLOOR(data)舍掉小数部分并向下取整。 SELECT TOP 3 F...

技术小胖子
2017/11/08
0
0
js浮点数计算

由于二进制精度影响,JS在计算浮点数时容易造成偏差,而这个问题在很多程序语言中都存在,所以部分程序语言专门提供了高精度函数,为的就是解决浮点数据计算。 JS 中貌似还没有出现这类函数库...

ttlxihuan
2016/01/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

TypeScript基础入门之高级类型的索引类型(Index types)

转发 TypeScript基础入门之高级类型的索引类型(Index types) 高级类型 索引类型(Index types) 使用索引类型,编译器就能够检查使用了动态属性名的代码。 例如,一个常见的JavaScript模式是从...

durban
13分钟前
0
0
利用碎片化时间Get Linux系统

起初,我做着一份与IT毫无关系的工作,每月领着可怜的工资,一直想改变现状,但无从下手,也就是大家熟知的迷茫。我相信,每一个人都会或多或少的经历过迷茫,迷茫每一个选择,迷茫工作或者生...

Linux就该这么学
48分钟前
0
0
图像显示深入学习一:Activity启动过程

一个月左右写了图像显示深入学习之文章开篇文章表明了自己近期的计划,前半年重新学习了opengl es,c++以及Linux的一些知识,觉得是时候开始看图像这一块的源码了,边看边补缺补漏吧。 作为该...

JerryLin123
今天
2
0
给MySQL授权远程访问

putty登录服务器; 登录MySQL: mysql -u root -p 新建远程用户: CREATE USER 'myusername' IDENTIFIED BY 'mypassword'; 授权: grant all on *.* to john@'101.102.103.104' identified by......

sweethome
今天
2
0
在t-io老巢造谣,不过有造谣的就会有反造谣的!

只发当事人的截图,不发表评论,以免有引导嫌疑 PS: 截图是由不同的人发过来的 本人已经不在此微信群 图3:有造谣的,就有反造谣的 图4是2018-09-23的t-io官方群的一个发言小统计,有助于让...

talent-tan
今天
104
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部