InsideDarkWeb.com

¿Como hago para imprimir una tabla con los equivalentes decimal y binario?

El código ya lo tengo hecho, es el siguiente:

#include <stdio.h>
#include <stdlib.h>

int main()
{
int decimal, b[100], i, j, n;
printf("DECIMALttBINARIOn0tt0n");
for(decimal=1; decimal<=19; decimal++)
{
    printf("%dn", decimal);
}

printf("tt");
for(decimal=1; decimal<=19; decimal++)
{
    i=0;
    n=decimal;
    while(n>0)
    {
        b[i]=n%2;//b[0]=0, b[1]=1
        n=n/2;//decimal=1, decimal=0
        i++;//i=1, i=2
    }
    for(j=i-1; j>=0; j--)
    {
        printf("%d", b[j]);
    }
    printf("n");
}
return 0;
}

Quisiera imprimir la tabla equivalente de la siguiente forma:

introducir la descripción de la imagen aquí

Pero lo que logro únicamente con mi código es que los números binarios se impriman debajo del decimal y no debajo del binario.

Stack Overflow en español Asked by El_Enzo on November 15, 2021

1 Answers

One Answer

Pero lo que logro únicamente con mi código es que los números binarios se impriman debajo del decimal y no debajo del binario.

Lo que pasa es que las dos tabulaciones que haces solo afectan al primer número que se imprime en la iteración: printf("tt");. Por cada iteración del ciclo estás cambiando la linea de impresión: printf("n");

Necesitas imprimir el número decimal y su equivalente a binario en la misma linea. Para esto tienes que imprimir en el mismo ciclo ambos valores. Esto se hace ubicando el ciclo for que imprime los números binarios dentro del que imprime los decimales.

int main(void) {
    int decimal;
    int b[100]; 
    int i,j,n;

    printf("DECIMALttBINARIOn0tt0n");

    for(decimal = 1;decimal <= 19;decimal++) {
        i = 0;
        n = decimal;

        while(n > 0) {
            b[i] = n % 2;//b[0]=0, b[1]=1
            n = n / 2;//decimal=1, decimal=0
            i++;//i=1, i=2
        }

        printf("%dtt",decimal);
        for(j = (i - 1);j >= 0;j--) {
            printf("%d",b[j]);
        }

        printf("n");
    }

    return 0;
}

¿Por qué se debe de hacer esto?

Hay que ponerle atención a estas lineas

printf("%dtt",decimal);
for(j = (i - 1);j >= 0;j--) {
    printf("%d",b[j]);
}

printf("n");

La primera linea imprime el número decimal, además de dos tabulaciones para luego imprimir el binario. El ciclo for va a imprimir todos los números del array que almacena el número binario. Finalmente se cambia de linea con: "n", y luego sigue la otra iteración

Decimal|Tabulación|Tabulación|Binario|Cambio de linea

Por esto mismo se obtiene

DECIMAL         BINARIO
0               0
1               1
2               10
3               11
4               100
5               101
6               110
7               111
8               1000
9               1001
10              1010
11              1011
12              1100
13              1101
14              1110
15              1111
16              10000
17              10001
18              10010
19              10011

Espero haberte ayudado, saludos.

Answered by user166844 on November 15, 2021

Add your own answers!

Related Questions

Implementar método async que devuelva un valor decimal

2  Asked on August 27, 2021 by pedro-vila

   

No funciona mi botón con JavaScript

1  Asked on August 27, 2021 by braylin-ivan-payano

   

No puedo llamar Clase

1  Asked on August 27, 2021 by camilo34

   

Porque no funciona mi javascript?

1  Asked on August 27, 2021

     

Python – ayuda con regex

3  Asked on August 27, 2021 by gonzalo-rojo

   

Recibir datos post en node js express js

2  Asked on August 27, 2021 by alejandrognzls

     

Problema con errores en forms Django

1  Asked on August 27, 2021 by lucas-leone

   

Problema con headers en php

1  Asked on August 27, 2021 by nuevo-usuario

   

problemas con promesas

1  Asked on August 27, 2021 by alberto-julio-arce-escolar

   

“E492 no es un comando del editor :PlugInstall”

1  Asked on August 27, 2021 by xkey

 

c# Biblioteca de clases con implementacion de interfaces varias

1  Asked on August 27, 2021 by marcelo-prez

     

Obtener HTML de texto seleccionado

1  Asked on August 27, 2021 by ricardo-alvarado

     

¿Cómo cancelar tarea asíncrona en Asp.Net Mvc?

1  Asked on August 27, 2021 by efrain-mejias-c

       

Ask a Question

Get help from others!

© 2021 InsideDarkWeb.com. All rights reserved.