uint29传输格式

前言

不知道谁想出来的。
反正我是想不到。

我看网上也没人讲这个。
写篇博客帮一下素未谋面的网友。

uint29

本质上是网络传输的时候,借用至多4字节Bytes,表达29位的无符号整数。

  1. 读8位数字,判断小于128? 是的话,返回末7位,即值域[0, 127)
  2. 上一步>=128的话,说明首位为1,丢弃首位,保留末7位。
  3. 再读8位数字,判断小于128? 是的话,将末7位拼接到暂存结果后,返回7+7=14位。
  4. 否则的话,说明首位是1,丢弃首位,保留末7位拼到暂存结果后。
  5. 再读8位,重复判断,首位非1则直接返回7+7+7=21位结果。
  6. 否则,首位为1,丢弃首位,保留拼接后的21位结果。
  7. 最后再读8位,这次不做判断,直接拼接,返回7+7+7+8=29位结果。
    在这里插入图片描述

返回的结果在一个32位的 arraybuffer里写一下。
就能转成[0,2^29)范围的 int32型正整数了。

好处

使用uint29的好处是,节约传输帧长。
要表达的数字很大时,至多占用4个字节。
而数字比较小(<128)时,只占用1个字节,就能节约3个出来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/289139.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

公众号商务合作投放怎么做,公众号商务合作流程!

微信公众号已经成为企业品牌推广、产品宣传的重要渠道。企业通过公众号进行商务合作投放广告&#xff0c;引爆产品流量&#xff0c;投放的公众号要有一定的粉丝基础&#xff0c;投放出去产生一定的投放效果。 本文伯乐网络传媒将为您详细介绍公众号商务合作投放的流程及注意事…

Java发起SOAP请求代码参考

目录 Java发起SOAP请求代码参考 代码1.组装参数2.加密参数3.发起连接4.解析返回数据 参考 文章所属专区 超链接 代码 1.组装参数 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans&qu…

在 CentOS 上使用 Docker 运行 RabbitMQ

在 CentOS 上使用 Docker 运行 RabbitMQ 使用Docker来运行RabbitMQ非常方便&#xff0c;以下是一个简单的步骤&#xff0c;以YAML配置文件方式创建和运行RabbitMQ容器。 构建容器 创建Docker Compose文件 创建一个docker-compose.yml文件&#xff0c;内容如下&#xff1a; …

【SpringBoot快速入门】(2)SpringBoot的配置文件与配置方式详细讲解

之前我们已经学习的Spring、SpringMVC、Mabatis、Maven&#xff0c;详细讲解了Spring、SpringMVC、Mabatis整合SSM的方案和案例&#xff0c;上一节我们学习了SpringBoot的开发步骤、工程构建方法以及工程的快速启动&#xff0c;从这一节开始&#xff0c;我们开始学习SpringBoot…

纳米流体传热CFD模拟仿真

纳米流体传热CFD模拟仿真 一、引言 纳米流体传热是当前研究热点之一,由于其独特的传热特性和应用前景,受到了广泛关注。计算流体动力学(CFD)模拟作为一种有效的研究手段,在纳米流体传热领域发挥着重要作用。本文将介绍纳米流体传热CFD模拟的基本原理、方法、应用及未来发…

CAP、ACID、BASE傻傻分不清

CAP CAP 理论是分布式系统中的一个重要理论&#xff0c;它指出在一个分布式系统中&#xff0c;一致性&#xff08;Consistency&#xff09;、可用性&#xff08;Availability&#xff09;、分区容错性&#xff08;Partition tolerance&#xff09;这三个属性不可能同时达到最优…

HarmonyOS --- 首页(新新新手版,高手误入)

一、前言 每一个App都应该有一个首页&#xff0c;在Android中一般由MainActivity Navigation Fragment * N &#xff08;随便你怎么组合&#xff0c;用别的也一样&#xff09;&#xff0c;鸿蒙呢&#xff1f;瞅瞅吧。阿弥陀佛&#xff0c;苦逼Android学完Java学Dart、学完Da…

✺ch5——纹理贴图

目录 加载纹理图像文件纹理坐标在着色器中使用纹理&#xff1a;采样器变量和纹理单元纹理贴图&#xff1a;示例程序多级渐远纹理贴图各向异性过滤环绕和平铺透视变形材质——更多OpenGL细节补充说明 纹理贴图是在栅格化的模型表面上覆盖图像的技术。 它是为渲染场景添加真实感的…

Jmeter实现性能测试--高频率(高吞吐量)

高频率场景通常涉及系统需要在极短时间内处理大量请求或事件。这些场景可能要求系统在短时间内执行多次操作&#xff0c;例如高频率的数据更新、传感器数据采集、金融交易、实时监控等。以下是一些高频率场景的示例&#xff1a; 金融交易&#xff1a; 高频交易系统需要在极短时…

路由表route

目录 Windows维护路由表&#xff0c;利用route命令&#xff0c;VPN完美异地组网什么是多网络环境这里我做个情景演示重置ipv4网络再次确认一下网络背景网关是什么多网络规划思路最后拓展内容实测一下网关切换选项网关的网关命令整理 Windows维护路由表&#xff0c;利用route命令…

MongoDB与大数据处理:构建高性能分布式数据库

MongoDB是一种非关系型数据库&#xff0c;具有高度灵活性和可扩展性。在处理大量数据时&#xff0c;索引的优化是提升查询性能的关键。下面将介绍一些MongoDB索引优化的指南&#xff0c;帮助用户更好地利用索引来提高查询性能。 一、选择适当的索引类型 1、单字段索引&#xf…

吴恩达深度学习intuition

这里是看吴恩达课程的一些记录和联想&#xff08;因为以前听过&#xff0c;因此不会很细致&#xff0c;只做个人记录&#xff09; 课程链接 首先提到training set, validation set (dev set)&#xff0c;test set的分割问题。老师提到&#xff0c;最常用的划分方法传统方法是…