HOLA:
tambien puedes utilizar la operacion modulo, ir guardando los numeros en un arreglo: ![Helado Helado]()
![Helado Helado]()
![Helado Helado]()
![Helado Helado]()
![Helado Helado]()
![Helado Helado]()
![Helado Helado]()
![Helado Helado]()
![Helado Helado]()
Codigo:
int bcd_dato[5]; // arreglo de 5 elementos para almacenar los digitos
void bin_dec5(long int n)// el numero a convertir es un entero largo
{
int i; // indice del arreglo unidades=bcd_dato
- ,d=[1],...m=[5]
for(i=0;i<5;i++) // llena el arreglo con los valores uni,dec,cen,mil,diezm
{ // despues de cada operacion se incrementa el indice
bcd_dato=n%10;// mediante la operacion modulo se obtiene el, i digito decimal
n=n/10; // n dividido 10 para cada i y tomamos su valor entero:
} // por ejemplo para i=0, 4358 mod 10 =8, luego 4358/10 =435
} // para i=1, 435 mod 10=5,435/10=43 luego 43 mod 10=3
luego al separar el numero 4835,en cada posicion del arreglo estaran guardados los digitos:
bcd_dato[0]=8
bcd_dato[1]=5
bcd_dato[2]=3
bcd_dato[3]=4
la i puede incrementarse dependiendo de que tan grande sea el numero a separar...
saludos...