[LINGUAGEM C] Calculo de Raiz Quadrada em C

Método de calculo sem a utilização de bibliotecas, sendo esse simples e com uma precisão razoável…

Código Fonte

unsigned int root(unsigned int x)
{
   unsigned int a,b;
   // sendo x = 81 resultado = 9
   b = x; // b = 81
   a = x = 0x3f; // a e x = 63
   x = (unsigned int)(b/x); // x = 81/63 = 1
   a = x = (unsigned int)((x+a)>>1); // a e x = (1 + 64) / 2 = 32
   x = (unsigned int)(b/x); // x = 81 / 32 = 2
   a = x = (unsigned int)((x+a)>>1); // a e x = (2 + 32) / 2 = 17
   x = (unsigned int)(b/x); // x = 81/17 = 4
   x = (unsigned int)((x+a)>>1); // x = (4 + 17) / 2 = 10

   return(x);
}

Obrigado e até o próximo post.

DATEK Tecnologia Eletrônica
[LINGUAGEM C] Calculo de Raiz Quadrada em C
Tags:                 

Deixe uma resposta

%d blogueiros gostam disto: