1250|6

237

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

有没有什么办法能快速寻找对比数据呢 [复制链接]

本帖最后由 z45217 于 2023-2-18 08:38 编辑

我想做个刷卡器,一张卡四个字节,得到卡号再去存储里判断有没有这张卡,卡一多用for循环一张张判断就费时

我目前是想把卡按最后字节分成00~FF共256种

然后单片机挂载文件系统,创建256个文件,按对应文件存储卡号

然后刷卡时根据卡号最后字节去对应文件寻卡

各位大佬有没有什么更好的办法的

第二天补充问题:

    这种方法有个问题,就是卡协议是四个字节,但用户可能只用三个字节的,一个字节为0,这种情况可能就会导致,所有卡都存00文件里

    毕竟三个字节就有16777215张卡了

此帖出自单片机论坛

最新回复

抄一个B+树   详情 回复 发表于 2023-2-28 19:05
点赞 关注
 

回复
举报

4926

帖子

12

TA的资源

版主

沙发
 

你这个挺好的~

此帖出自单片机论坛
 
 

回复

3201

帖子

0

TA的资源

五彩晶圆(中级)

板凳
 

卡一多用for循环一张张判断就费时------我问一下,一共大约有多少张卡? 如果卡不太多,而且单片机RAM够多的话,把卡号复制到RAM中比较会很快。或者是存储卡号排序存储也能马上找到。

此帖出自单片机论坛
 
 
 

回复

1万

帖子

141

TA的资源

版主

4
 

小数据量用分区比对法最快,类似楼主的思路但分区更细。比如就按楼主所及的四个字节来说,按第一字节分若干个大区,再按第二字节分若干个中区,第三字节分若干个小区,最后一个字节再分若干个子区,连续比对每个字节的分布区,再进入相应的区直至最后的子区连续比对。传统的图书馆也是按此方法分类检索的。

此帖出自单片机论坛
 
个人签名上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
 
 

回复

4926

帖子

12

TA的资源

版主

5
 

我又思考了 你这个切片的思路真不错 好像很多大数据存储也有这个思路~

此帖出自单片机论坛

点评

最低字节为0的情况下都会存到同一个文件里,对于卡号来说两个字节就有六万多张卡了,  详情 回复 发表于 2023-2-18 17:27
 
 
 

回复

237

帖子

0

TA的资源

一粒金砂(高级)

6
 
吾妻思萌 发表于 2023-2-18 15:30 我又思考了 你这个切片的思路真不错 好像很多大数据存储也有这个思路~

最低字节为0的情况下都会存到同一个文件里,对于卡号来说两个字节就有六万多张卡了,

此帖出自单片机论坛
 
 
 

回复

7618

帖子

2

TA的资源

五彩晶圆(高级)

7
 

抄一个B+树

此帖出自单片机论坛
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复
您需要登录后才可以回帖 登录 | 注册

开源项目 更多>>
    随便看看
    查找数据手册?

    EEWorld Datasheet 技术支持

    相关文章 更多>>
    关闭
    站长推荐上一条 1/9 下一条

     
    EEWorld订阅号

     
    EEWorld服务号

     
    汽车开发圈

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表