接收有限范围的无限数据的一种巧妙方法

1. 假设现在要接收许多(甚至是无限)的数据,但这些数据有范围:比如现在要读取串口发送的数据,这些数据的范围为0x00 - 0xFF。

2. 如直接定义数组或容器进行接收,需求无限内存。这种方法不可行。

3.一种巧妙的方法就是:定义一个涵盖所需数据范围大小的数组(Data[0xFF+1]),但接收到一个数据时,以该数据为下标,对数组对应位置进行赋值(比如接收到数据为0x0A,则令Data[0x0A]=0),接收到的第二个数据就为1(Data[0x1C]=1),以此类推。则每个接收到的数据就会拥有各自对应的值。

4.然后定义一个用于显示数据的数组ShowData[500],用Data[]的值作为下标。此时,接收数据时,用其Data[]的值为下标将其数据存储到ShowData[0]中,下一个接收到的不同数据依次放入ShowData[i++]中。(比如,现在接收到0x0A的数据,由3知其Data[0x0A]=0),则将数据内容存到ShowData[0]中····,假设经过若干次数据接收后,又在一次接收到0x0A的数据,由3知,其Data[0x0A]=0,故将其数据内容将数据内容存到ShowData[0]中,之前的数据就被覆盖了。于是,一个有限的数组就可以接收到无限的数据并进行显示了)。

时间: 2024-10-06 16:13:23

接收有限范围的无限数据的一种巧妙方法的相关文章

用R语言实现对不平衡数据的四种处理方法

https://www.weixin765.com/doc/gmlxlfqf.html 在对不平衡的分类数据集进行建模时,机器学**算法可能并不稳定,其预测结果甚至可能是有偏的,而预测精度此时也变得带有误导性那么,这种结果是为何发生的呢?到底是什么因素影响了这些算法的表现? 在不平衡的数据中,任一算法都没法从样本量少的类中获取足够的信息来进行精确预测因此,机器学**算法常常被要求应用在平衡数据集上那我们该如何处理不平衡数据集?本文会介绍一些相关方法,它们并不复杂只是技巧性比较强 本文会介绍处理非

.Net中批量添加数据的几种实现方法比较

在.Net中经常会遇到批量添加数据,如将Excel中的数据导入数据库,直接在DataGridView控件中添加数据再保存到数据库等等. 方法一:一条一条循环添加 通常我们的第一反应是采用for或foreach循环一条一条的添加. for (int i = 0; i < dgv.Rows.Count; i++) { string sql = "insert into ....."; SqlHelper.ExcuteNonQuery(CommandType.Text, sql, nu

从mysql全备 导入指定数据库的数据:三种考虑方法

起因: 公司数据库改造,需要将原有多个数据库恢复到新的服务器上,DBA同事提供给我的其他来源数据库备份均为全备.但是要求并不是全库恢复至新服务器. ---------------- 处理过程: 在这个前提下尝试了三种方法恢复: 注意:在导入前禁用外键,防止导入过程中外键校验导致建表失败,导入完成后开启外键: set foreign_key_checks=0; -- 禁用外键 set foreign_key_checks=1; -- 开启外键 (1)使用--one-database参数导入dysu

mysqli:查询数据库中,是否存在数据的三种校验方法

在我们编辑用户登录功能的时候,常常需要对用户输入的信息进行校验,校验的方法就是通过SQL语句进行一个比对,那么我们就需要用到以下三种中的一种进行校验啦 1.使用mysqli_num_rows()校验 例子: 成功情况: 失败情况: 2.使用mysqli_fetch_array()校验 例子: 成功情况: 失败情况: 3.使用mysqli_fetch_all()校验 例子: 成功情况: 失败情况: 以上 END 原文地址:https://www.cnblogs.com/finalanddistan

浮点数(有限浮点数、无限循环浮点数)的精确表达

在计算机中,是否decimal或者float或者double来存储小数是不能得到精确值得.如果你希望能得到精确的计算结果,最好是用分数形式来表示小数.有限小数或者无限循环小数都可以转化为分数. 例如: 0.9=9/10 0.333(3)=1/3 给定一个小数,它的形式为0.34.0.30.0.33(33)......形如这些的小数把它们转化成分数形式(最简分数). 首先我们先定义一个分数类和小数类 1 /// <summary> 2 /// 分数类 3 /// </summary>

spring mvc接收ajax提交的JSON数据,并反序列化为对象

需求:spring mvc接收ajax提交的JSON数据,并反序列化为对象,代码如下: 前台JS代码: //属性要与带转化的对象属性对应 var param={name:'语文',price:16}; $.ajax({ url: "/book/adddata", type: "POST", dataType: 'json', //必需设定,后台@RequestBody会根据它做数据反序列化 contentType:"application/json&quo

碰到诡异问题,求助大能解答,关于表单提交大文件无限数据提交问题

服务器环境 php环境 出现情况:上传30M文件的时候 本地数据一直在提交,观察服务器io 也一直有下载流量.但是就没有个结束,php输出 $_FILES,也不会执行到这行代码,比如我提交30M文件表单提交,但是流量估计超过好几百M也不会停止,反正不人为停止脚步,就是不断在数据交互.请问有大哥碰到这情况吗?是否哪些php配置没配置对 大文件上传问题已解决 以我测试上传32M文件大小为例 php 运行方式 FPM-FCGI php.ini upload_max_filesize = 64M//上传

Struts2 接收多表关联的数据

今天在做一个计费移动的时候,使用Struts2 的modelDriver 接收User提交的数据,在User 中关联着用户详细信息表.电话信息表.套餐信息表和管理员信息表:提交上来的数据有电话号码.用户详细地址和个人信息.套餐的名称.套餐的类型等等... @Entity public class User { private int id; private String userName; private String password; private String type; private

struts2接收collection和map的数据

struts2接收collection和map的数据