在8位單片機(jī)中的浮點數(shù)運(yùn)算開方,乘法,除法,反正切
int 1byte , long 4byte
本文引用地址:http://m.butianyuan.cn/article/201611/318613.htmBit data type cannot be used as a return value.
Double and float are NOT supported by the EM78 Series C Compiler.
開平方根
- unsignedlongsqrt_16(unsignedlongM)
- {
- unsignedlongN;
- inti;
- unsignedlongtmp,ttp;//結(jié)果、循環(huán)計數(shù)
- if(M==0)//被開方數(shù),開方結(jié)果也為0
- return0;
- N=0;
- tmp=(M>>30);//獲取最高位:B[m-1]
- M<<=2;
- if(tmp>1)//最高位為1
- {
- N++;//結(jié)果當(dāng)前位為1,否則為默認(rèn)的0
- tmp-=N;
- }
- for(i=15;i>0;i--)//求剩余的15位
- {
- N<<=1;//左移一位
- tmp<<=2;
- tmp+=(M>>30);//假設(shè)
- ttp=N;
- ttp=(ttp<<1)+1;
- M<<=2;
- if(tmp>=ttp)//假設(shè)成立
- {
- tmp-=ttp;
- N++;
- }
- }
- returnN;
- }
評論