Código de Dev - C++ - Convertir binario a hexadecimal

1
estrellaestrellaestrellaestrellaestrella(4)

Publicado el 6 de Septiembre del 2020gráfica de visualizaciones de la versión: 1
13.832 visualizaciones desde el 6 de Septiembre del 2020
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include<iostream>
#include<conio.h>
using namespace std;
 
int main(void)
{
	long int binnum, rem, quot;
	int i=1, j, temp;
	char hexdecnum[100];
	cout << "\n    Entra un numero en binario : ";
	cin>>binnum;
	quot = binnum;
	while(quot!=0) {
		temp = quot % 16;
		// Convertimos el entero a caracter
		if( temp < 10) {
			temp = temp + 48;
		} else {
			temp = temp + 55;
		}
		hexdecnum[i++]= temp;
		quot = quot / 16;
	}
	cout<<"\n    El valor en hexadecimal del numero binario "<<binnum<<" es : ";
	for(j=i-1 ;j>0;j--) {
		cout<<hexdecnum[j];
	}
	getch();
	return 0;
}



Comentarios sobre la versión: 1 (4)

Imágen de perfil
6 de Septiembre del 2020
estrellaestrellaestrellaestrellaestrella
111 en binario es 7 en decimal y por ser menor que 16 tambien es 7 en hexadecimal.
Hay algo que corregir en este programa.
Responder
6 de Septiembre del 2020
estrellaestrellaestrellaestrellaestrella
Y usted no sabria como corregir este error
Responder
6 de Septiembre del 2020
estrellaestrellaestrellaestrellaestrella
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//programa que convierte un numero binario a numero hexadecimal//
#include<iostream>
#include<stdio.h>
 
main(){
 
printf( "\n\n\t UNIVERSIDAD METROPOLITANA DE CIENCIA, EDUCACION Y TECNOLOGIA\n");
printf( "\t FACULTAD DE TECNOLOGIA, CONSTRUCCION Y MEDIO AMBIENTE\n");
printf( "\t PRIMER PROGRAMA DE LENGUAJE DE PROGRAMACION 1\n\n");
printf( "\t GRUPO 4: ASHLEY ALTAMIRANO, EDWIN OLIVARES, JOSMAR FERNANDEZ, LISETH SALINA, YATZUR\n\n");
 
	int numero,digito,resultado;
 
 
	printf("ingrese numero binario: \n");
	scanf("%i",&digito);
 
while(digito>0){
	digito=digito%16; //1001
	if(digito==4)
	   resultado=digito;
 
	resultado=resultado/16;
 
}
	printf("El resultado hexadecimal es %i: \n", resultado);
 
	return 0;
}



me podrian ayudar a como corregir este error, en las respuestas me da siempre 0
Responder
Nacho
6 de Septiembre del 2020
estrellaestrellaestrellaestrellaestrella
No lo he probado mucho.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int main(void)
{
    char bin[32]{ 0 };
    int dec=0;
    char hex[32];
    cout << "\n    Entra un numero en binario : ";
    cin >> bin;// binnum;
    int k = 0;
    for (k = 0; k < 31; k++) if (bin[k] == 0) break;
 
    int a;
    for (int i = 0; i <k; i++)
    {
        if (bin[i] == 49)
        {
            a = pow(2, k-i-1);
            dec += a;
        }
    }
    sprintf(hex,"%#32x", dec);
    printf("%#32x", dec);
    return 0;
}
Responder

Comentar la versión: 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s6459