周六与周日花费了两天的时间得出一个转复杂较为简单的算法,其实都是学校里学过的,但由于没有应用于实际当中。
下面具体的来说说这个算法吧。
举个例子,比如有这么一个一维数组,共有96个元素,我想分成32列,3行,又想分成16列6行,而且想要分别从行与列的头开始取表元素,例tab[]={0x08,0xa0,.......,0xff};(可能你会想到分成多维数组,然后采用两个for循环,如for(int i=0;i<3;i++)
{
for(int j=0;j<32;j++)
tab[i][j];
}
但还是不够灵活)
怎么样灵活的改变呢?总不可能列两个数据表吧?我苦思瞑想了两天,找了老书。最终用了个移位的办法。先是从它的数组表里取其元素量,再做移位与加减运算,
我做了个测试,其结果相当的好。见图
这样可以取表的大小,改变a,b,4,5,的值。来得到想要的结果。这个可以独立成一个小的子程序。这个编译出来的文件也相当的小,适用于元素表较大的选取。有时候语句短并不是什么优势(在单片机当中)适合机器读的语句才是好语然,2+2与2*2谁优谁劣?机器晓得,相信,你懂的。。。。。。如果能省去循环语句占用MCU系统资源。呵呵,何乐而不为?
关键字:C语言 算法
引用地址:
浅谈C语言的一个算法
推荐阅读最新更新时间:2024-03-16 13:07
一种边缘检测与扫描线相结合的车牌定位算法
摘要:提出了基于边缘检测的二值化与扫描线相结合的车牌定位方法。实验表明该方法能够快速、准确地定位车牌,且抗干扰能力强,定位准确率在99%以上,光照和天气对其定位结果影响很小。
关键词:模式识别 车牌识别 边缘提取
车牌识别(LPR)技术是计算机视觉、图像处理技术与模式识别技术的融合,是智能交通系统中一项非常重要的技术。一般说来,车牌识别前期的处理技术至关重要,其前期技术包括:车牌的定位、车牌图像的二值化及字符分割。本文主要针对车牌定位算法进行研究。
车牌定位就是在车辆图像中定位牌照区域的位置。由于车辆图像都采集于自然环境中,而在自然环境中车牌和背景的成像条件一般是不可控制的,
随机变化的因素(尤其是光照条件)和复杂的背
[应用]
22家企业加入WAPI联盟 四大运营商高调登场
新浪科技讯 3月7日上午消息,新浪科技从WAPI产业联盟成立现场获悉,22家企业今日上午正式成为WAPI产业联盟成员,该联盟由发改委、信产部及科技部三大部委牵头建立,目的是继续推进WAPI标准的产业化进程。 在这22家企业中,中国移动、中国电信、中国网通及联通等四大运营商的全部加入成为一大亮点。此外,还包括方正、联想、华为、华大电子、六合万通等企业。 会议现场,信产部科技司司长闻库、发改委副主任张晓强、发改委高技术产业司司长许勤,以及国家标准委、商务部等相关机构官员均出席。 据参会专家表示,从产业联盟现场来看,国家对WAPI的强力支持提上日程了。 新浪科技从联盟负责人处获悉,WAPI联盟每半年设轮值主席
[焦点新闻]
MPU6050 HMC5883 Kalman 融合算法移植
一、卡尔曼滤波九轴融合算法stm32尝试 1、Kalman滤波文件 1 /* Copyright (C) 2012 Kristian Lauszus, TKJ Electronics- All rights reserved- 2 3 This software may be distributed and modified under the terms of the GNU 4 General Public License version 2 (GPL2) as published by the Free Software 5 Foundation and appearing in the file
[单片机]
学习C语言的几点建议
初学C语言的朋友应该首先了解C语言关键的核心概念(结构化、三个执行流程、优先级、指针、文件、共用体、 函数、作用域、重载等 ),只有弄明白了这些才能在今后的学习中游刃有余的把握C语言的精髓。这几个概念就 像逻辑线一样,把整个C语言的体系贯穿起来,给人一种“结构化”的思想体系。下面我简要谈一下这几个核心 概念。 1、从宏观角度来看,结构化是C语言的编程思想基础,就是说C语言每一个功能模块就是一个结构,每 一个结构实现一个运算或一个算法,这个结构就用大括号表示“{ }”,大括号里面的就是算法。尤其注意的是 大括号的“}”括在那里,就决定在哪里结束算法功能。这些是初学者
[单片机]
CRC算法原理及C语言实现
CRC算法原理及C语言实现 有一篇好文章,不敢独享! CRC算法原理及C语言实现(介绍了3种方法) CRC算法原理及C语言实现 -来自(我爱单片机) 摘 要 本文从理论上推导出CRC算法实现原理,给出三种分别适应不同计算机或微控制器硬件环境的C语言程序。读者更能根据本算法原理,用不同的语言编写出独特风格更加实用的CRC计算程序。 关键词 CRC 算法 C语言 1 引言 循环冗余码CRC检验技术广泛应用于测控及通信领域。CRC计算可以靠专用的硬件来实现,但是对于低成本的微控制器系统,在没有硬件支持下实现CRC检验,关键的问题就是如何通过软件来完成CRC计算,也
[单片机]
基于盒式图的数据过滤与回归分析算法
软件度量是对软件开发项目、过程及其产品进行数据定义、收集以及分析的持续性定量化过程,目的在于对此加以理解、预测、评估、控制和改善,从而保证软件开发中的高效率、低成本、高质量。但是,得到正确的度量只是测量程序的一部分。软件质量是与所收集和分析的数据质量密切相关的,数据清洗过程的目的就是要解决“脏数据”的问题。数据清洗是指去除或修补源数据中的不完整、不一致、含噪声的数据。在源数据中,可能由于疏忽、懒惰,甚至为了保密使系统设计人员无法得到某些数据项的数据。根据决策系统中“garbage in garbage out”(如果输入的分析数据是垃圾则输出的分析结果也将是垃圾)原理,必须处理这些噪声数据。去掉噪声平滑数据的技术主要有分箱(b
[嵌入式]
pid算法温度控制c语言程序
温度控制PID自整定原理介绍 整定PID(三模式)控制器 整定温度控制器涉及设置比例、积分和微分值,以得到对特定过 程的可能的最佳控制。如果控制器不包含自动整定算法,或者自 动整定算法未提供适合特定应用的足够控制,则必须用试误法对 装置进行整定。 下面是温度控制器的标准整定步骤。也可以采用其他整定步骤, 但都使用类似的试误法。请注意,如果控制器使用机械式继电器 (而非固态继电器),开始时应使用较长的循环时间(20秒)。 可能需要用到以下定义 : 循环时间 – 也称为工作周期,是控制器完成一个通断循环所 用的总时间长度。示例: 对于20秒的循环时间,10秒接通时 间和10秒切断时间代表50%的功率输出
[单片机]
嵌入式系统高级C语言编程
内容简介 《嵌入式系统高级C语言编程》将主要介绍针对嵌入式系统的基于C语言的软件项目开发的流程,较为复杂的c语言编程知识和技巧,编程风格和调试习惯,并通过对一个具体的软件模块(ASIX Window GUI)的分析,介绍分析代码的方法以及设计软件系统需要考虑的各要素。《嵌入式系统高级C语言编程》将以实际项目中的代码作实例来进行介绍,详细分析在嵌入式系统开发中程序员应该注意的方法,技巧和陷阱。 《嵌入式系统高级C语言编程》的读者可以是学习嵌入式系统的高校学生(高年级本科生或硕士研究生),或者是从事嵌入式系统编程的软硬件工程师。 作者简介 凌明,1972年5月出生,副教授。现任东南大学电子科学与工程学院
[单片机]