文档章节

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

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
读《程序员的SQL金典》[2]--函数

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

技术小胖子
2017/11/08
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
Python3 字符编码

原文出处:http://www.cnblogs.com/284628487a/p/5584714.html 编码 字符串是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。 因为计算机只能处理数字,如果要处理文本,就必须先...

kuSorZ
2017/10/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring应用学习——AOP

1. AOP 1. AOP:即面向切面编程,采用横向抽取机制,取代了传统的继承体系的重复代码问题,如下图所示,性能监控、日志记录等代码围绕业务逻辑代码,而这部分代码是一个高度重复的代码,也就...

江左煤郎
44分钟前
1
0
eclipse的版本

Eclipse各版本代号一览表 Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。 Eclipse基本内核包括:图形API(SWT/Jface),Java开发环...

mdoo
46分钟前
1
0
SpringBoot源码:启动过程分析(一)

本文主要分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 还是老套路,先把分析过程的时序图摆出来:时序图-SpringBoot2.10启动分析 二.源码分析 首...

Jacktanger
53分钟前
3
0
小白带你认识netty(二)之netty服务端启动(上)

上一章 中的标准netty启动代码中,ServerBootstrap到底是如何启动的呢?这一章我们来瞅下。 server.group(bossGroup, workGroup);server.channel(NioServerSocketChannel.class).optio...

天空小小
今天
3
0
聊聊storm trident batch的分流与聚合

序 本文主要研究一下storm trident batch的分流与聚合 实例 TridentTopology topology = new TridentTopology(); topology.newStream("spout1", spout) .p......

go4it
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部