4758866
级别: 略有小成
精华主题: 0
发帖数量: 124 个
工控威望: 268 点
下载积分: 863 分
在线时间: 352(小时)
注册时间: 2012-10-29
最后登录: 2024-10-16
查看4758866的 主题 / 回贴
楼主  发表于: 2019-11-01 22:38
sngX1 := UINT_TO_REAL (uintX1);
sngX2 := UINT_TO_REAL (uintX2);
sngY1 := UINT_TO_REAL (uintY1);
sngY2 := UINT_TO_REAL (uintY2);
sngX := UINT_TO_REAL (uintX)*EXPT (10.0, uintDecPtDiff);

IF sngX <= sngX1 THEN
    uintY := REAL_TO_UINT (sngY1);
ELSIF sngX >= sngX2 THEN
    uintY := REAL_TO_UINT (sngY2);
ELSE
    uintY := REAL_TO_UINT (sngY1+(sngY2-sngY1)/(sngX2-sngX1)*(sngX-sngX1));
END_IF;