标题: 如何让一个数字和数组里面的数字对比选择? [打印本页]

作者: yytda    时间: 2020-10-8 13:22
标题: 如何让一个数字和数组里面的数字对比选择?
先定义一个数组,int a[]={1,2,3,4,5}
然后用ADC采样值和数组里面的值做对比,比如ADC采样值是3,就把数组里面的3调出来赋给另一个变量,请问如何实现这样的功能?

作者: wulin    时间: 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;        //跳出当前循环
                }
        }
作者: yytda    时间: 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这样的数值,这段代码还能用吗?
作者: wulin    时间: 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,至于最终结果保留几位小数很容易通过运算获得。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1