把C语言翻译汇编比计算下哪个时间快,省资源?

2020-01-26 12:55发布

本帖最后由 cktamcu 于 2013-10-15 19:10 编辑

code unsigned char table[]={1000,2000,3000,4000,5000,6000,7000,8000,9000,10000,11000,12000,13000,14000,15000,16000,17000,18000,19000,20000}
main()
{
while()
{
if(a==table[2])
P0=0;

}

第二种方式
b=3
main()
{
while()
{
if(a==9000/b)
P0=0;

}

89c52中最多可以定义多长的数组?数组的长度会影响运行速度吗,哪种运行时速度更快些?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
lans0625
1楼-- · 2020-01-26 17:29
第二种方式有除法,应该比较慢..
conandllu
2楼-- · 2020-01-26 17:31
 精彩回答 2  元偷偷看……
albert_w
3楼-- · 2020-01-26 18:11
1, 数组寻址非常快.
2,第二个有可能被优化成==3000, 这个局部变量b如果没有别的赋值的话. 1被优化的可能似乎比较小, 不过也未可知.

编译器的神奇之处超乎想象, 它太会写汇编了.
schwarz
4楼-- · 2020-01-26 22:25
unsigned char最大255,一看撸主就是嘎嘎新的新手。
四轴飞行器
5楼-- · 2020-01-27 00:16
新手  鉴定完毕
goolloo
6楼-- · 2020-01-27 03:06
256B的运算空间,自己算吧

一周热门 更多>