String64类的设计思想

news/2024/7/23 10:29:09 标签: 算法

背景

现在的计算机,能一次处理64比特数据。放在DOS时代,一个文件名也才8字节,正好64比特。也就是说,现在的计算机,能一次处理一个DOS文件名。是当做一个数字来处理的,不是当做字符串处理。所以,有了String64类的设想,把常用的句子,都压缩到64比特,便于计算机处理。

步骤

第一步,制作字典。
要包括常用的“字、词、句”。如“操作系统”是个常用词,要包括,作为一个编码单位来存储。实践中会出现难以压缩至64比特的句子,也要纳入字典。

第二步,编码。
采用inf7编码,即7比特为一个编码单位,有1××××××和0××××××两种模式。1模式表示继续,0模式表示终止。
举例:
0××××××,这是一个6比特数字
1××××××0××××××,这是12比特数字
1××××××1××××××0××××××,这是18比特数字

第三步,压缩至64比特。
7×9+1=64
在一个64比特中,可以表示9个英文字母。
剩余的1比特,表示“是否继续”。与inf7编码类似,0表示终止,即“只有这一个64比特”;如果出现1,则是继续,直到出现0开头的编码,才终止。
0+[63bit],这是常见形式
1+[63bit]+0+[63bit],这是扩展形式
1+[63bit]+1+[63bit]+0+[63bit],进一步扩展

第四步,回溯。
整个String64类,可以用64比特表示54比特数字信息。而一个常用句子,将占用一个64比特。所以,在字典中,一个常用句子应该从54比特的最大数开始,由大到小,逆向编码。例如,某个句子特别长,要把它压缩至64比特,应该在字典中,赋予它54比特长的一个数字。

总结

有了String64类,就能把常用的句子,压缩至64比特,让计算机在一个时钟周期内完成处理,从而有希望加快其运行速度。


http://www.niftyadmin.cn/n/5116814.html

相关文章

基于 Android 的文件同步设计方案

1、背景 随着用户对自身数据保护意识的加强,让用户自己维护自己的数据也成了独立开发产品时的一个卖点。若只针对少量的文件进行同步,则实现起来比较简单。当针对一个多层级目录同步时,情况就复杂多了。鉴于相关的文章甚少,本文我…

【瞎折腾】荣耀7X换脸手术,收获良多

分享、记录一次折腾的过程。 上次回家看到一台进水、屏幕不能点亮的荣耀7X,充上电还是有各种消息声,感觉它多少还能抢救。因为之前这台已经换过一次屏幕了,所以估计这次是进水导致屏幕坏了,其他功能是好的。 上某宝某鱼某多浪了一…

【大数据】Kafka 实战教程(二)

Kafka 实战教程(二) 1.下载2.安装3.配置4.运行4.1 启动 Zookeeper4.2 启动 Kafka 5.第一个消息5.1 创建一个 Topic5.2 创建一个消息消费者5.3 创建一个消息生产者 1.下载 你可以在 Kafka 官网:http://kafka.apache.org/downloads&#xff0c…

【Javascript】运算符(赋值,算术,自增,自减)

目录 赋值 算术 单个变量: 多个变量: 在字符串,数组中充当连接符 自符串与字符串 数组与数组 数组与字符串 自增与自减 前置 自增 自减 后置 自增 自减 赋值 var a 1;算术 单个变量: var a 1;a 1;console.l…

Electron 学习

Electron基本简介 如果你可以建一个网站,你就可以建一个桌面应用程序。Eletron 是一个使用 JavaScript, HTML和 CSS等Web 技术创建原生程序的框架,它负责比较难搞的部分,你只需把精力放在你的应用的核心上即可。 Electron 可以让你使用纯 Jav…

Java编写图片转base64

图片转成base64 url , 在我们的工作中也会经常用到,比如说导出 word,pdf 等功能,今天我们尝试写一下。 File file new File("");byte[] data null;InputStream in null;ByteArrayOutputStream out null;try{URL url new URL(&…

OS 处理机调度

目录 处理机调度的层次 高级调度 作业 作业控制块 JCB 作业调度的主要任务 低级调度 中级调度 进程调度 进程调度时机 进程调度任务 进程调度机制 排队器 分派器 上下文切换器 进程调度方式 非抢占调度方式 抢占调度方式 调度算法 处理机调度算法的目标 处理…

ElasticSearch安装、插件介绍及Kibana的安装与使用详解

ElasticSearch安装、插件介绍及Kibana的安装与使用详解 1.安装 ElasticSearch 1.1 安装 JDK 环境 因为 ElasticSearch 是用 Java 语言编写的,所以必须安装 JDK 的环境,并且是 JDK 1.8 以上,具体操作步骤自行百度 安装完成查看 java 版本 …