Aquí lo tienes corregido:
   
Código C:
Ver original- #include <stdio.h> 
- #include <math.h> 
-   
- //Prototipo de funcion 
- int DecimalToBinary(int x, int *overflow); 
-   
- int main() 
- { 
-    int i, binario, error; 
-   
-    // Como un entero tiene 4 bytes en mi maquina, si hago: 
-    // (2^8)*4=1024 y como el 0 tambien cuenta, quiere decir que el rango valido 
-    // es de 0 a 1023. Si intentaras imprimir un valor superior desbordarias el entero 
-    for(i=0; i <= 1023; i++){ 
-       binario = DecimalToBinary(i, &error); 
-       if(error == 1) 
-          printf("Se desbordo el valor maximo posible para un entero binario.\n"); 
-       else 
-          printf("%4d = %.10d\n",-  i ,-  binario );
 
-    } 
-    return 0; 
- } 
- //--------------------------------------------------------------------------- 
-   
- int DecimalToBinary(int x, int *overflow){ 
-    //Declarem variables 
-    int binary=0, potencia; 
-   
-    //El valor maximo se saca elevando 2 al numero de bits de un byte que son 8 
-    //y luego lo multiplicas por el numero de bytes del tipo 
-    //Esto es util si se usa en una máquina en la que un entero tiene un tamaño diferente 
-    int-  sizeMax  = pow(2,8) * sizeof(int);
 
-   
-    if(x >= sizeMax){ 
-       *overflow=1; 
-    }else{ 
-       *overflow = 0; 
-       //ALGORITME 
-       while (x != 0){ 
-          potencia=1; //¿para que empezar por 0? 
-          if (x ==1 ){ 
-             binary++; 
-             x--; 
-          }else{ //Esta parte la he simplificado bastante 
-             while(- x  > (pow(2,-  potencia )))
 
-                potencia++; 
-             if(- x  < (pow(2,-  potencia )))
 
-                potencia--; 
-             binary  += pow(10,-  potencia ); //Aqui necesitabas sumar y tu asignabas
-          } 
-       } 
-    } 
-    return binary; 
- } 
- //--------------------------------------------------------------------------- 
Si tienes alguna duda preguntala, la cuestion es que lo entiendas, no que lo copies sin mas. 
Y aqui otro modo de hacerlo:   
Código C:
Ver original- int DecimalToBinary(int x, int *overflow) 
- { 
-    int binary=0; 
-    int valueMax = 1024; 
-    int digito; 
-    int exponente = 1; 
-   
-    if(x >= valueMax){ 
-       *overflow=1; 
-    }else 
-    { 
-       *overflow = 0; 
-       //ALGORITME 
-       do{ 
-          //Obtenemos el valor del digito a escribir(0 ó 1) 
-          digito = x % 2; 
-          //Dividimos el numero por 2 para seguir 
-          x /= 2; 
-          //Añadimos el nuevo digito al numero binario 
-          binary += digito * exponente; 
-          //Aumentamos el exponente el exponente 
-          exponente *= 10; 
-       }while (x > 0); 
-    } 
-    return binary; 
- }