要把一个无符号长整形数据保存到单片机数据Flash EPROM中,需要将其拆分成4个字节进行保存
但是发现位移操作编译后的字节数要比除法运算要多很多个字节,如果不考虑字节消耗量,是选用位移运算好还是除法呢?
m1=jishu_n;m1=m1>>24; irEEP[2]=m1;
m1=jishu_n;m1=m1<<8;m1=m1>>24; irEEP[3]=m1;
m1=jishu_n;m1=m1<<16;m1=m1>>24;irEEP[4]=m1;
m1=jishu_n;m1=m1<<24;m1=m1>>24;irEEP[5]=m1;
编译后的代码Program Size: data=45.1 xdata=0 code=6581。
irEEP[2]=jishu_n/0x1000000;
irEEP[3]=jishu_n%0x1000000/0x10000;
irEEP[4]=jishu_n%0x10000/0x100;
irEEP[5]=jishu_n%0x100;
编译后的代码Program Size: data=45.1 xdata=0 code=6442。