Cómo hacer un diagrama de flujo y un algoritmo para convertir números binarios a decimales

Un algoritmo es un conjunto finito de pasos que definen la solución de un problema particular. Un algoritmo se expresa en pseudocódigo, algo parecido al lenguaje C o Pascal, pero con algunas declaraciones en inglés en lugar de dentro del lenguaje de programación.

  1. Una solución secuencial de cualquier programa escrito en lenguaje humano, llamado algoritmo.
  2. El algoritmo es el primer paso del proceso de solución, después del análisis del problema, los programadores escriben el algoritmo de ese problema.

Pseudocódigo

  • Número de entrada
  • Inicializa Len a cero e Y a Num
  • Mientras Y no es cero
  • Guardar resto por Y Mod 16 en matriz HEXD en el índice Len
  • Inicializar Y a Y dividido 16
  • Incremento Len
  • para (Inicializar I a Len-1; Condición I mayor que -1; Decremento I)
  • Si HEXD [I] Menos de 10
  • HEXC [I] = HEXD [I] +48
  • Más
  • HEXC [I] = HEXD [I] +55
  • Inicialice HEXC [I] en NULL
  • Imprimir HEXC

Algoritmo detallado:

Paso 1: NÚMERO de entrada

Paso 2: LEN = 0 & Y = NUM

Paso 3: Mientras (Y> 0)

HEXD [LEN] = Y% 16

Y = Y / 16

LEN ++

Paso 4: para (I = LEN-1; I> -1; I–)

SI (HEXD [I] <10)

HEXC [I] = HEXD [I] +48;

MÁS

HEXC [I] = HEXD [I] +55;

Paso 5: HEXC [I] = NULL

Paso 5: imprimir HEXC

Diagrama de flujo: –

Diagrama de flujo: –

Desde el pseudocódigo puede hacer fácilmente el diagrama de flujo,

Pseudocódigo: para convertir de decimal a otra base

Paso 1: Sea n el número decimal.

Paso 2: Sea b el número, inicialmente 0, que se convierte en nuestra respuesta. Lo compondremos de derecha a izquierda.

Paso 3: repite hasta que n se convierta en 0
Paso 3a: Divida n entre 2, dejando que el resultado sea d y el resto sea r.
Paso 3b: Agregue el resto, r, como el dígito más a la izquierda de b.
Paso 3c: Sea d el nuevo valor de n.

Ahora Programando : “- En C ++

#include

binario nulo (int);

vacío principal (vacío) {

int numero;

cout << "Ingrese un entero positivo:";

cin >> número;

si (número <0)

cout << "Eso no es un entero positivo. \ n";

más {

cout << número << "convertido a binario es:";

número binario);

cout << endl;

}

}

binario nulo (número int) {

int resto;

if (número <= 1) {

cout << número;

regreso;

}

resto = número% 2;

binario (número >> 1);

cout << resto;

}

El diagrama de flujo es el procedimiento paso a paso para resolver un problema, debe tener una forma clara de resolver el problema. entonces puede escribir fácilmente un diagrama de flujo que luego se convierte en un algoritmo.

Para convertir un número binario a decimal.

Diagrama de flujo:

1.el número binario se convierte a decimal con una multiplicación de 2 ^ n desde los bits iniciales.

Ej: número binario: 1101010000000000

1 * 2 ^ 0 + 1 * 2 ^ 1 + 0 * 2 ^ 2 + 1 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 + 0 * 2 ^ 0 + 0 * 2 ^ 0 + …… …………… + 0 * 2 ^ 15.

Esto da como resultado un número decimal del número binario.

2.crear una matriz para almacenar bits binarios, que tiene valores de basura cuando se declara.

3.Tome la entrada del usuario.

4. Ejecute un bucle hasta el último elemento del número binario.

5. aumente el nivel del valor 2 ^ a partir de 0 a 15 y sume la multiplicación resultante del valor binario y 2 ^.

6. Al final del ciclo obtendrás un número decimal final.

Algoritmo:

vacío principal()

{

int n, suma = 0;

cout << "ingrese el número de bits binarios";

cin >> n;

int * arr = (int *) malloc (sizeof (int) * n);

para (int i = 0; i

{

suma + = arr [i] * pow (2, i);

}

cout << "el número decimal es:" << sum;

}

Espero que esto te ayude.

Aquí está el algoritmo en python:

bin = “101001010001”
n = len (bin)
res = 0
para i en rango (n):
res + = 2 * int (bin [ni-1])
imprimir (res)