文档章节

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

lu62
 lu62
发布于 2017/07/19 15:31
字数 479
阅读 3
收藏 0
点赞 0
评论 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
Python3 字符编码

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

kuSorZ
2017/10/22
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
《深入理解计算机系统》2——信息编码

计算机中数字的主要表示方式有无符号数,补码数和浮点数三种。计算机中最小可寻址单位为8位的块,或者称为字节。机器级程序将存储器视为一个非常大的字节数组,称为虚拟存储器,虚拟存储器中...

曹越
2012/04/10
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
js浮点数计算

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

ttlxihuan
2016/01/17
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
《Python从小白到大牛》第6章 数据类型

在声明变量时会用到数据类型,在前面已经用到一些数据类型,例如整数和字符串等。在Python中所有的数据类型都是类,每一个变量都是类的“实例”。没有基本数据类型的概念,所以整数、浮点和字...

tony关东升
07/09
0
0
字符串和编码

字符编码 我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机...

不最醉不龟归
2016/10/23
11
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JPA @MappedSuperclass 注解说明

基于代码复用和模型分离的思想,在项目开发中使用JPA的@MappedSuperclass注解将实体类的多个属性分别封装到不同的非实体类中。 1.@MappedSuperclass注解只能标准在类上:@Target({java.lang....

海博1600
11分钟前
0
0
Scala Configuration 相关API

Play使用了 Typesafe config library,但是也提供了一个有着更多Scala高级特性的的 Configuration 封装。不熟悉Typesafe配置的开发者可以移步 configuration文件的语法和特性文档。 读取配置...

Landas
今天
1
0
使用cookie技术 记住账号

1. 效果 2. 实现过程 2.1 前端 将用户的选中传递给后台 这个参数的获取是 参考:https://my.oschina.net/springMVCAndspring/blog/1860498 // var rememberLogin = $("#rememberLoginId").i...

Lucky_Me
今天
1
0
《趣谈网络协议》02之网络分层的真实含义

一、提出问题 1.提出问题 当你听到什么二层设备、三层设备、四层 LB 和七层 LB 中层的时候,是否有点一头雾水,不知道这些所谓的层,对应的各种协议具体要做什么“工作”? 2.这四个问题你弄...

aibinxiao
今天
2
0
Python3学习日志二 Python中的集合set和字典dict

1.集合set 定义一个集合set 我们可以看到定义集合set有两种不同的形式,如果要定义一个空的集合set不能用{}而是要用set();另外,集合是无序的,而且set中的元素是不可重复的,如果你定义了一...

Mr_bullshit
今天
0
0
adb 操作指令详解

ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。 注:有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。...

孟飞阳
今天
0
0
nodejs安装以及环境配置(很好的node安装和配置文章,少走很多弯路)

一、安装环境 1、本机系统:Windows 10 Pro(64位) 2、Node.js:v6.9.2LTS(64位) 二、安装Node.js步骤 1、下载对应你系统的Node.js版本:https://nodejs.org/en/download/ 2、选安装目录进...

sprouting
今天
1
0
Redisson

了解了Redisson,发现使用挺简单的,接下来准备深入学习一下。 Redisson介绍 Redisson是架设于Redis基础之上的一个Java驻内存数据网格(In-Memory Data Grid) Redisson在基于NIO的Netty框架上...

to_ln
今天
0
0
python有哪些好玩的应用实现,用python爬虫做一个二维码生成器

python爬虫不止可以批量下载数据,还可以有很多有趣的应用,之前也发过很多,比如天气预报实时查询、cmd版的实时翻译、快速浏览论坛热门帖等等,这些都可以算是爬虫的另一个应用方向! 今天给...

python玩家
今天
0
0
python爬虫日志(3)-爬去异步加载网页

在浏览器检查元素页面中,选取Network中的XHR选项即可观察每次加载页面,网页发出的请求,观察url的规律即可利用封装的函数对每一页进行爬取。

茫羽行
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部