标题:
关于取数的问题,请高人指点
[打印本页]
作者:
cyy998
时间:
2016-7-8 15:38
标题:
关于取数的问题,请高人指点
本帖最后由 cyy998 于 2016-7-8 15:45 编辑
从一个4位整数中取出各位上的数,以下两段代码,运行的结果是一样的,第一段编译后体积比第二段小一点,但是不知道执行效率哪一段比较高一点?本人初学单片机,对C语言更是一知半解,请高人给指点一下,在此谢过,不胜感激。
第一段用for循环的方式:
uchar df[4];
char i;
uint j;
j=temp;
if(temp<0)j=-temp; //如果是负数转换成正数
for(i=3;i>=0;i--)
{
df[i]=j%10;
j/=10;
}
复制代码
第二段用直接取值的方式:
uchar df[4];
uint j;
j=temp;
if(temp<0)j=-temp; //如果是负数转换成正数
df[0]=j/1000; //取千位
df[1]=j%1000/100; //取百位
df[2]=j%100/10; //取十位
df[3]=j%10; //取个位
复制代码
作者:
腾飞的龙
时间:
2016-7-8 16:04
我都是用第二种,第一次看到第一种写法,学习啦、
作者:
zl2168
时间:
2016-7-8 21:54
第一种方法很好。
作者:
liuyimao485812
时间:
2016-7-9 06:37
第1种比较好。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1