|
发表于 2010-10-25 01:12:45
|
显示全部楼层
uchar GetShiDu(uint feq)
{
uchar SwitchTmp=0, Avage=0, ShiDuGe=0,ShiDu=0;
// SheDuGe 个位
if ((feq > 0 ) && (feq <= 6033)) SwitchTmp = 255;
if ((feq > 6033)&&(feq <= 6186)) SwitchTmp = 9;
else if((feq > 6186)&&(feq <= 6330)) SwitchTmp = 8;
else if((feq > 6330)&&(feq <= 6468)) SwitchTmp = 7;
else if((feq > 6468)&&(feq <= 6600)) SwitchTmp = 6;
else if((feq > 6600)&&(feq <= 6728)) SwitchTmp = 5;
else if((feq > 6728)&&(feq <= 6853)) SwitchTmp = 4;
else if((feq > 6853)&&(feq <= 6976)) SwitchTmp = 3;
else if((feq > 6976)&&(feq <= 7100)) SwitchTmp = 2;
else if((feq > 7100)&&(feq <= 7224)) SwitchTmp = 1;
else if((feq > 7224)&&(feq <= 7351)) SwitchTmp = 0;
switch(SwitchTmp)
{
case 0:
Avage = (7351 - 7224) / 10;
ShiDuGe = (7351-feq ) / Avage;
ShiDu= ( SwitchTmp *10 + ShiDuGe);
break;
case 1:
Avage = (7224 - 7100) / 10;
ShiDuGe = (7224 -feq ) / Avage;
ShiDu= ( SwitchTmp *10 + ShiDuGe);
break;
case 2:
Avage = (7100 - 6976) / 10;
ShiDuGe = (7100 - feq ) / Avage;
ShiDu= ( SwitchTmp *10 + ShiDuGe);
break;
case 3:
Avage = (6976 - 6853) / 10;
ShiDuGe = (6976 - feq ) / Avage;
ShiDu= ( SwitchTmp *10 + ShiDuGe);
break;
case 4:
Avage = (6853 - 6728) / 10;
ShiDuGe = (6853- feq ) / Avage;
ShiDu= ( SwitchTmp *10 + ShiDuGe);
break;
case 5:
Avage = (6728 - 6600) / 10;
ShiDuGe = (6728 - feq ) / Avage;
ShiDu= ( SwitchTmp *10 + ShiDuGe);
break;
case 6:
Avage = (6600 - 6468) / 10;
ShiDuGe = (6600 - feq ) / Avage;
ShiDu= ( SwitchTmp *10 + ShiDuGe);
break;
case 7:
Avage = (6468 - 6330) / 10;
ShiDuGe = (6468- feq ) / Avage;
ShiDu= ( SwitchTmp *10 + ShiDuGe);
break;
case 8:
Avage = (6330 - 6186) / 10;
ShiDuGe = (6330 - feq ) / Avage;
ShiDu= ( SwitchTmp *10 + ShiDuGe);
break;
case 9:
Avage = (6186 - 6033) / 10;
ShiDuGe = (6186- feq ) / Avage;
ShiDu= ( SwitchTmp *10 + ShiDuGe);
break;
case 255:
ShiDu = 100;
break;
}
return ShiDu;
} |
|