请教一个简单的算法

slough 2003-03-13 10:36:01
得到一个BYTE red,
请赐教比下列语句快的算法:
if (red > 5)
red = 5;

由于调用非常频繁,希望有个比较好的算法。
...全文
41 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
心雨楼 2003-03-16
  • 打赏
  • 举报
回复
if (red > 5)
red = 5;

red>5?5:else

一样的效果!
要想再快就用汇编了!没别的选择了!
要么就换cpu!

时间就是生命啊!
tempvc 2003-03-16
  • 打赏
  • 举报
回复
只有用汇编+单片机
fbmsf 2003-03-16
  • 打赏
  • 举报
回复

cmp red,5
jbe End1
mov red,5
End1:
.
.
.
icansaymyabc 2003-03-16
  • 打赏
  • 举报
回复
你可以编译个程序来试验嘛;

for(unsigned int i=0;i<0xFFFFf0;i++)
for(unsigned int j=0;i<0xFFFFf0;i++)
{
c=8;
if(c>5)c=5;
}

for(unsigned int i=0;i<0xFFFFf0;i++)
for(unsigned int j=0;i<0xFFFFf0;i++)
{
c=8;
c=c>5?5:c;
}

你说那个快?
我说一样快。
yinx 2003-03-16
  • 打赏
  • 举报
回复
gz
lebor 2003-03-16
  • 打赏
  • 举报
回复
高密度处理必须用汇编+优秀的汇编算法。
e_feeling 2003-03-15
  • 打赏
  • 举报
回复
改变或优化整个算法
xiaohu9711 2003-03-14
  • 打赏
  • 举报
回复
写汇编把!
fasthorse 2003-03-14
  • 打赏
  • 举报
回复
red>5?5:else
ZhouBoTong 2003-03-14
  • 打赏
  • 举报
回复
我觉得应该在别的什么地方考虑一下优化,
比如在循环内部
jack_wq 2003-03-14
  • 打赏
  • 举报
回复
我也觉得只能象快马说得那样了,再不就试一下宏定义!
laolaoliu2002 2003-03-14
  • 打赏
  • 举报
回复
静态图像吧?我立马晕倒,要求还挺高,是干什么用的。
slough 2003-03-14
  • 打赏
  • 举报
回复
没办法啊没办法,快马说的办法也是我想的最好的办法了。
系统要求:每秒一图,每图1024*768,每像素有三段,每段执行该算法一次,而且还有其他要求。
最少也是1024*768*3=2359296次/秒。
这样的语句对应2个或者3个指令周期,以2个算的话也要0x480000个指令周期/秒
FAINT!
boby 2003-03-13
  • 打赏
  • 举报
回复
这样还不够快吗?你的系统要求是怎样的

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧