从一个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; //取个位
复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>