欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 8位的數(shù)組,合并16位進(jìn)行比較最大值和記錄其下標(biāo),C語言代碼有沒有錯誤,是否可以簡化 [打印本頁]

作者: 李冬    時間: 2022-3-3 16:48
標(biāo)題: 8位的數(shù)組,合并16位進(jìn)行比較最大值和記錄其下標(biāo),C語言代碼有沒有錯誤,是否可以簡化
uchar mm[]={0x32,0x21,0x22,0x45,0x54,0x11,0x66,0x22,0x32,0x21};
           uint max = (mm[0]<<8)|mm[1];
        uint dd;
//     uchar kk;//下標(biāo)
     for (  i4 = 2; i4 < 10; i4++)
        {
                dd= (mm[i4]<<8)|mm[++i4];

         if (max < dd)
                                         {
             max = dd;
//                                                 kk=i4;
         }
     }


作者: 188610329    時間: 2022-3-3 20:59
新建一個C文件, 添加到項(xiàng)目中,
在這個新建的C文件中,
extern  uint  mm[5];
然后, 在這個新的C文件里,就可以直接用16位來比較了, 不需要拼接。
作者: 李冬    時間: 2022-3-4 07:39
188610329 發(fā)表于 2022-3-3 20:59
新建一個C文件, 添加到項(xiàng)目中,
在這個新建的C文件中,
extern  uint  mm[5];

后面需要串口發(fā)送8位數(shù)據(jù)
作者: glinfei    時間: 2022-3-4 08:56
程序結(jié)果是不是不對啊? mm[0]就是8位的,你mm[0]<<8,是要給它清零嗎?應(yīng)該是max=mm[0];max=(max<<8)|mm1[1];
作者: 鄭漢松    時間: 2022-3-4 09:18
uchar mm[]={0x32,0x21,0x22,0x45,0x54,0x11,0x66,0x22,0x32,0x21};
uint *num = (uint *)mm;
uint max;
uchar index,i;
max = num[0];
index = 0;
for(i = 1;i < 5;i++)
{
    if(max < num[i])
    {
        max = num[i];
        index = i;
    }
}
作者: glinfei    時間: 2022-3-4 09:25
鄭漢松 發(fā)表于 2022-3-4 09:18
uchar mm[]={0x32,0x21,0x22,0x45,0x54,0x11,0x66,0x22,0x32,0x21};
uint *num = (uint *)mm;
uint max;
...

這個在C51沒試過,但在微機(jī)中用過,類型使用的是short,因?yàn)閕nt是4字節(jié)了,想說的是這個跟樓主要求不大一樣,mm[0]是低八位;mm[1]是高八位。要是誰發(fā)現(xiàn)51是相反的,麻煩留言,我一時不方便試驗(yàn)。
作者: wulin    時間: 2022-3-4 09:26
李冬 發(fā)表于 2022-3-4 07:39
后面需要串口發(fā)送8位數(shù)據(jù)

通常用整形數(shù)組比較出最大值,串口分別發(fā)送高8位和低8位數(shù)據(jù)。
作者: 鄭漢松    時間: 2022-3-4 09:54
glinfei 發(fā)表于 2022-3-4 09:25
這個在C51沒試過,但在微機(jī)中用過,類型使用的是short,因?yàn)閕nt是4字節(jié)了,想說的是這個跟樓主要求不大一 ...

C51中int是十六位,樓主程序來看第一個字節(jié)高八位,第二個字節(jié)低八位
作者: yzwzfyz    時間: 2022-3-4 11:51
如果是8位機(jī),先比高位再比低位速度最快。
如果是16位機(jī),則先組合再比較速度快。
作者: 188610329    時間: 2022-3-4 12:12
李冬 發(fā)表于 2022-3-4 07:39
后面需要串口發(fā)送8位數(shù)據(jù)

發(fā)的時候在原來的c文件里發(fā)。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1