应广单片机的mini-c对C的支持有限,好些运算都是通过移位实现,这里附上一个开方的例子。方便大家使用
word dat;
word rem ;
word root ;
word divisor ;
void sqrt16(void)
{
byte i=8;
rem = 0;
root = 0;
divisor = 0;
while(i--)
{
root <<= 1;
rem = (rem << 2);
rem =(dat>>14)+rem;
dat <<= 2;
divisor = (root<<1) + 1;
if(divisor <= rem)
{
rem -= divisor;
root++;
}
}
}
有啥问题,给我留言了!
来源:CSDN
作者:zhongvv
链接:https://blog.csdn.net/zhongvv/article/details/103487736