×
嵌入式开发 > 详情

浅谈C语言的一个算法

发布时间:2020-06-30 发布时间:
|
周六与周日花费了两天的时间得出一个转复杂较为简单的算法,其实都是学校里学过的,但由于没有应用于实际当中。

下面具体的来说说这个算法吧。

举个例子,比如有这么一个一维数组,共有96个元素,我想分成32列,3行,又想分成16列6行,而且想要分别从行与列的头开始取表元素,例tab[]={0x08,0,.......,0xff};(可能你会想到分成多维数组,然后采用两个for循环,如for(int i=0;i3;i++)

{

for(int j=0;j32;j++)

tab[i][j];

}

但还是不够灵活)

怎么样灵活的改变呢?总不可能列两个数据表吧?我苦思瞑想了两天,找了老书。最终用了个移位的办法。先是从它的数组表里取其元素量,再做移位与加减运算,

我做了个测试,其结果相当的好。


这样可以取表的大小,改变a,b,4,5,的值。来得到想要的结果。这个可以独立成一个小的子程序。这个编译出来的文件也相当的小,适用于元素表较大的选取。有时候语句短并不是什么优势(在单片机当中)适合机器读的语句才是好语然,2+2与2*2谁优谁劣?机器晓得,相信,你懂的。。。。。。如果能省去循环语句占用MCU系统资源。呵呵,何乐而不为?




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
手机厂商扩大备货.明年联发科5G芯片出货有望高达1.2亿套