找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2046|回复: 3
收起左侧

如何让一个数字和数组里面的数字对比选择?

[复制链接]
ID:525582 发表于 2020-10-8 13:22 | 显示全部楼层 |阅读模式
先定义一个数组,int a[]={1,2,3,4,5}
然后用ADC采样值和数组里面的值做对比,比如ADC采样值是3,就把数组里面的3调出来赋给另一个变量,请问如何实现这样的功能?
回复

使用道具 举报

ID:213173 发表于 2020-10-8 16:42 | 显示全部楼层
实际数组中数字一般不会是顺序自然数,需要就近取值。
        for(i=0;i<m;i++)//m-1=数组成员数
        {
                if(x>=a[i] && x<a[i+1])
                {       
                        y=a[i];
                        break;        //跳出当前循环
                }
        }
回复

使用道具 举报

ID:525582 发表于 2020-10-8 16:52 | 显示全部楼层
wulin 发表于 2020-10-8 16:42
实际数组中数字一般不会是顺序自然数,需要就近取值。
        for(i=0;i=a && x

这段代码里面是直接加1,如果数组元素和ADC采样值都带有小数点,比如1.1,2.4,3.2,4.5,5.2这样的数值,这段代码还能用吗?
回复

使用道具 举报

ID:213173 发表于 2020-10-8 20:34 | 显示全部楼层
yytda 发表于 2020-10-8 16:52
这段代码里面是直接加1,如果数组元素和ADC采样值都带有小数点,比如1.1,2.4,3.2,4.5,5.2这样的数值 ...

一般情况下都是把小数化为整数比较合适。因为ADC采样值是整数,比如12位ADC采样值是0~4095,至于最终结果保留几位小数很容易通过运算获得。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表