Red de conocimiento informático - Computadora portátil - Algoritmo octal de conversión de números decimales en lenguaje C

Algoritmo octal de conversión de números decimales en lenguaje C

Método 1: utilizar directamente la cadena de control %o octal %x

Método 2:

Calcular el resto, como el número decimal x(x> 100 ) En el sistema octal, primero puede obtener el número desde el dígito de las unidades (último dígito) hasta el 8 (esto es como un desplazamiento, el número octal de Al usar el método para encontrar el último dígito, puede encontrar el dígito de las decenas El número octal obtenido de esta manera es al revés (obtenga primero el dígito de las unidades, luego el dígito de las decenas...).

), que es muy adecuado para poner en la pila, y se revertirá al obtenerlo. El pseudocódigo se puede escribir así:

while(x){

printf. ("%d",x %n);//imprimirá cada dígito de menor a mayor cuando x se convierta en un número base N

x/=n;

}

Convertir decimal a N:

#include

#include

#include< string.h

typedef int INT;

typedef struct dd

{

INT datos;

struct dd * siguiente;

}LNode,*LStack;

LStack pushstack(LStack top,int x)

{

LStack p;

p=(LStack)malloc(tamañode(LNodo) ?

if((x)!=-1) {p->datos=(x) ? p ->siguiente=arriba; ? arriba=p;}

volver arriba;

} ?

LStack superior,int *x )

{

LStack p=top;

*x=p->datos;

top=p->siguiente;

gratis(p);

volver arriba

} ?

main()

{

int x,n;

LStack top=NULL;

printf("Ingrese el número original y la base a convertir:"); /p>

do{

scanf("%d%d",&x,&n); //Ingrese un número decimal y la base a convertir, como 3 2 para obtener 1 } while(x>35| |x<0||n<2);

while(x){ //Este bucle coloca cada bit en la pila

top=pushstack( arriba,x% n);

x/=n;

mientras(arriba!=NULL)

{ ?

arriba =outstack(arriba,&x);

if(x<10)

printf("%c",x+'0');

else

printf("%c",x+'A'-10); ?

}

devuelve 0?}