当前位置: 首页 > news >正文

变长字节的数字表示法vb224

开始

数字有大有小,用多少字节表示呢?
本文描述的方案,采用变化的长度。vb是varying bytes的意思,224是表示它特征的一个数。

第一版:

每个字节8比特,最高的1比特用来表示“是否连续”,0表示终止,1表示继续,如:
单字节模式:0×××××××
双字节模式:1××××××× 0×××××××
三字节模式:1××××××× 1××××××× 0×××××××
一直延续下去,理论上说可以表示无穷大。
这一版叫做vb128。

第二版:

为表示0到255做了优化。
单字节模式:0至223
双字节模式:224至255,0×××××××
三字节模式:224至255,1××××××× 0×××××××
也能表示无穷大。
首字节中,224至255是32个数,即5比特。
后边的字节,每个字节表示7比特。

比较:

题目:表示0到255,以及保留继续变大的可能。
解一:表示0到255需要256个字节,要想保留继续变大的可能,需要用双字节、四字节、八字节等。占用空间较大。
解二:采用vb128。前128个数字用1字节,后128个数字用2字节,总共128+2×128=384字节。
解三:采用vb224。前224个数字用1字节,后32个数字用2字节,总共224+2×32=288字节。
比较结果:
解一很占空间,且不能表示无穷大,退出比较。
解三比解二省下384-288=96字节。

总结:

当你需要表示一个数字,却又不能确定数字所占字节数的时候,可以考虑vb224编码。
截止2025年6月,该方案尚未实现,你可以自己动手实现,并应用于项目之中。

http://www.lqws.cn/news/559261.html

相关文章:

  • 抽屉打印公共组件想要实现的打印预览样式效果
  • 个人日记本小程序开发方案(使用IntelliJ IDEA)
  • C语言---常见的字符函数和字符串函数介绍
  • 【EDA软件】【联合Modelsim 同步FIFO仿真】
  • FPGA原理结构
  • 用AI给AR加“智慧”:揭秘增强现实智能互动的优化秘密
  • FPGA设计的用户约束
  • 领域驱动设计(DDD)【23】之泛化:从概念到实践
  • Spring Cloud Gateway 实战:网关配置与 Sentinel 限流详解
  • win10部署本地LLM和AI Agent
  • NLP——RNN传统模型
  • Linux系统环境编程之进程1
  • Jina-Embeddings-V4:多模态向量模型的革命性突破与实战指南
  • 华为云Flexus+DeepSeek征文|基于Dify构建AI资讯语音播报工作流
  • 鸿蒙5:组件监听和部分状态管理V2
  • Conformal LEC:官方学习教程
  • 【软考高项论文】论信息系统项目的沟通管理
  • [Andrej Karpathy_2] vibe coding | 大型语言模型的1960年代 | 自主性滑块
  • 某省赛题-windows内存取证
  • 【Linux】mmap分析
  • Excel限制编辑:保护表格的实用功能
  • 嵌入式网络通信与物联网协议全解析:Wi-Fi、BLE、LoRa、ZigBee 实战指南
  • Linux环境安装Redis的多种方式分析
  • Flutter基础(Isolate)
  • cocos creator 3.8 - 精品源码 - 六边形消消乐(六边形叠叠乐、六边形堆叠战士)
  • docker解析
  • Netty 揭秘CompositeByteBuf:零拷贝优化核心技术
  • Flutter基础(路由页面跳转)
  • Neo4j无法建立到 localhost:7474 服务器的连接出现404错误
  • Nacos源码之服务拉取(RestTemplate)