文档章节

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

lu62
 lu62
发布于 2017/07/19 15:31
字数 479
阅读 4
收藏 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
笔记——《C程序性能优化》[日】片山善夫

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

zray4u
2016/07/04
33
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
读《程序员的SQL金典》[2]--函数

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

技术小胖子
2017/11/08
0
0
计算机中浮点数运算的问题

首先我们来看一下下面一段代码: #include int main(int argc, char *argv[]){ int i; float sum = 0; for (i = 0; i < 100; i++){ sum += 0.1; } printf("sum = %f n", sum); return 0;} 在......

菏泽小朱
2016/10/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mybaties中通用mapper的基本使用

使用Mybatis的开发者,大多数都会遇到一个问题,就是要写大量的SQL在xml文件中,除了特殊的业务逻辑SQL之外,还有大量结构类似的增删改查SQL。而且,当数据库表结构改动时,对应的所有SQL以及...

嘴角轻扬30
13分钟前
0
0
都996了,研发效能还是提不起来,关键在这里

上一篇我们介绍了研发效能提升目标及其度量方法。(本文是阿里“研发效能提升系列”的第2篇,第1篇“研发效能的定义和度量”敬请期待【下周三】的钉钉群直播:钉钉搜索群号 23192180) 研发效...

zhaowei121
13分钟前
0
0
阿里重磅开源首款自研科学计算引擎Mars,揭秘超大规模科学计算

日前,阿里巴巴正式对外发布了分布式科学计算引擎 Mars 的开源代码地址,开发者们可以在pypi上自主下载安装,或在Github上获取源代码并参与开发。 此前,早在2018年9月的杭州云栖大会上,阿里...

阿里云云栖社区
16分钟前
0
0
大牛是怎么思考设计SQL优化方案的?

在进行MySQL的优化之前,必须要了解的就是MySQL的查询过程,很多查询优化工作实际上就是遵循一些原则,让MySQL的优化器能够按照预想的合理方式运行而已。 图-MySQL查询过程 一、优化的哲学 ...

Java填坑路
25分钟前
0
0
docker1.7 Error: Path not specified 错误

在centos6.1上,用yum命令安装的docker版本是1.7 。在拷贝文件的时候报 Error: Path not specified错误。 错误消息“错误:路径未指定” 在docker1.8.0中已修复。 修复方法: 直接下载1.9.1...

applepaihs
25分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部