/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

binario-decimal

 
      Índice del Foro elrincondelc.com -> Dev-C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
Manson



Registrado: 05 Jun 2007
Mensajes: 11

MensajePublicado: 06/06/2007 11:22 pm
Título: binario-decimal

El resultado del programa sale bien, pero no tengo ni idea de como meter todo el numero seguido, en vez de dígito a dígito. Se me a ocurrido hacerlo por divisiones enteras, pero no se como expresarlo.

#include "stdio.h"
#include "string.h"
#include "math.h"

int main()
{

int a=0,b=0,variable[5],codigo[5],decimal=0;

variable[0]=0;
variable[1]=0;
variable[2]=0;
variable[3]=0;
variable[4]=0;
codigo[0]=0;
codigo[1]=0;
codigo[2]=0;
codigo[3]=0;
codigo[4]=0;

printf("Introduce digito a digito un numero en binario(5):\n");
for(b=4;b>=0;b--)
{
scanf("%d",&variable[b]);
}

printf("El numero introducido en decimal es el siguiente:\n");
for(a=0;a<=4;a++)
{
codigo[a]=variable[a]*pow(2,a);
decimal=decimal+codigo[a];
}
printf("%d",decimal);

return 0;
}
Si alguien lo puede mirar.
Volver arriba
gorkau
Site Admin


Registrado: 13 Ago 2002
Mensajes: 369
Ubicación: Bilbao

MensajePublicado: 07/06/2007 7:32 am
Título:

Tal y como indican las normas de los foros no está permitido el envío de mensajes duplicados. Te he borrado el otro.
_________________
Gorka Urrutia
El Rincón del C
Volver arriba
rir3760



Registrado: 01 Oct 2004
Mensajes: 3841
Ubicación: Mexico

MensajePublicado: 07/06/2007 7:52 am
Título:

Lo mas sencillo es utilizar la funcion scanf para leer el numero como un cadena, a continuacion procesarias cada digito binario restandole '0' al caracter procesado, seria mas o menos asi:
Código:
#define NUM_DIGITOS  32

/* ... */

char numero[NUM_DIGITOS + 1]; /* +1 para el '\0' */
int i;

/* ... */

if (scanf("%s", numero) != 1){
   
   /* manejo de error */
   
}

for (i = 0; i < NUM_DIGITOS; i++){
   
   /* Aqui procesamos el digito dado por "numero[i] - '0'" */
   
   printf("%d", numero[i] - '0'); /* imprime 0 o 1 */
   
}

/* ... */


Un saludo
_________________
The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
Volver arriba
      Índice del Foro elrincondelc.com -> Dev-C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com