Foros del Web » Programación para mayores de 30 ;) » Programación General »

convertir numero binario a decimal en C

Estas en el tema de convertir numero binario a decimal en C en el foro de Programación General en Foros del Web. Hola quisiera ver si alguien tiene o sabe de alguna funcion en C que pueda convertir un numero binario a decimal y viceversa. porfa Saludos ...
  #1 (permalink)  
Antiguo 13/09/2004, 18:52
Avatar de axy108  
Fecha de Ingreso: diciembre-2003
Ubicación: En frente de mi Computadora
Mensajes: 415
Antigüedad: 20 años, 11 meses
Puntos: 0
Pregunta convertir numero binario a decimal en C

Hola quisiera ver si alguien tiene o sabe de alguna funcion en C que pueda convertir un numero binario a decimal y viceversa.

porfa

Saludos y Gracias

__________________
Todos somos muy ignorantes :pensando: . Lo que ocurre es que no todos ignoramos las mismas cosas ;-) .... Albert Einstein :cool:
  #2 (permalink)  
Antiguo 13/09/2004, 22:26
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 21 años
Puntos: 7
mmmm, se supone que no deberia de hacer esto, pero se que existe la posibilidad de que no estudies sistemas o informatica(espero que asi sea) y a fuerza debas de llevar programacion, y comprendo........
de todas formas, trata de entenderle


Código:
#include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
void main (void)
{
int d;
long b, p,c;
int continuar=1;
while(continuar==1)
{
cout<<"ingrese el numero en binario\n numero en binario:";
cin>>b;
c=1;
d=0;
	while(b>0)
	{
		p=0;
		p=c*(b%10);
		d+=p;
		c*=2;
		b/=10;
	}
cout<<"\n numero en decimal:"<<d;

cout<<"desea continuar?\n"; 
cin>> continuar;
}
int j= 1235%2;
cout<<j;
}
  #3 (permalink)  
Antiguo 14/09/2004, 01:12
 
Fecha de Ingreso: septiembre-2004
Mensajes: 21
Antigüedad: 20 años, 2 meses
Puntos: 0
Eso no tiene sentido.

Un número será siempre un número esté en binario o en decimal. El que esté en binario o en decimal solo es la forma de representarlo, pero no dejará de ser el mísmo número, la misma cosa.

Seguramente buscas una forma de representar en C un número en sistema binario o en decimal.

Asumiendo que tu numero es entero, para representarlo en decimal puedes usar simplemente
Código:
printf("%d",numero);
por ejemplo.

Para representarlo en binario no hay una forma directa, pero puedes averiguarlo, por ejemplo, usando los operadores de bits & >>.

Si tu número es entero tendrá sizeof(int)*8 caracteres, que serán ó 0 ó 1.

Por ejemplo para representar tu número puedes hacer lo siguiente:
Código:
int bits=sizeof(int)*8;
for (int i=0;i<bits;++i)
if (((numero>>(bits-i-1))&1)==1) printf("1"); else printf("0");
  #4 (permalink)  
Antiguo 14/09/2004, 11:05
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 21 años
Puntos: 7
Cita:
Iniciado por Doctor Luz
Eso no tiene sentido.

Un número será siempre un número esté en binario o en decimal. El que esté en binario o en decimal solo es la forma de representarlo, pero no dejará de ser el mísmo número, la misma cosa.

Seguramente buscas una forma de representar en C un número en sistema binario o en decimal.
el programa funciona, y matematicamente se llama conversion de binario a decinaml.........
no se por que dices que no tiene sentido.....
  #5 (permalink)  
Antiguo 14/09/2004, 16:12
Avatar de axy108  
Fecha de Ingreso: diciembre-2003
Ubicación: En frente de mi Computadora
Mensajes: 415
Antigüedad: 20 años, 11 meses
Puntos: 0
yo tambien opino lo mismo ya probe el codigo que posteaste blackwind y me funciono a la perfeccion, y tampoco entendi el "no tiene sentido" no supe a que se referia y tampoco entendi el codigo.

GRACIAS blackwind

SALUDOS
__________________
Todos somos muy ignorantes :pensando: . Lo que ocurre es que no todos ignoramos las mismas cosas ;-) .... Albert Einstein :cool:
  #6 (permalink)  
Antiguo 14/09/2004, 17:53
Avatar de axy108  
Fecha de Ingreso: diciembre-2003
Ubicación: En frente de mi Computadora
Mensajes: 415
Antigüedad: 20 años, 11 meses
Puntos: 0
oye blackwind (abusando de tus conocimientos )de pura casualidad no tendras por ahi otro codigo pero que ahora hago lo inverso, es decir que me convierta un numero decimal a binario.

Por fa

Gracias

__________________
Todos somos muy ignorantes :pensando: . Lo que ocurre es que no todos ignoramos las mismas cosas ;-) .... Albert Einstein :cool:
  #7 (permalink)  
Antiguo 14/09/2004, 18:23
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 9 meses
Puntos: 50
Pues hace tiempo que no programo en C pero podría ser algo así.. (el chiste dividir el decimal obtener el Mod de 2)

Ejemplo.

Cita:
#include <stdio.h>
#define BITS 16

int main() {

int binNum[16];
int decNumElement;
int counter;

printf("\n\Ingresa el número: ");
scanf( "%d", &decNumElement );
for ( counter = 0; counter <= BITS; counter++ ) {
binNum[counter] = decNumElement % 2;
decNumElement = decNumElement / 2;
}
//Aqui invierto la cadena de 1´s y 0´s
for ( counter = BITS; counter >= 0; counter-- ) {
printf("%d", binNum[counter]);
}
return 0;
}
Espero te funcione.

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #8 (permalink)  
Antiguo 15/09/2004, 02:45
 
Fecha de Ingreso: septiembre-2004
Mensajes: 21
Antigüedad: 20 años, 2 meses
Puntos: 0
Cita:
Iniciado por blackwind
el programa funciona, y matematicamente se llama conversion de binario a decinaml.........
no se por que dices que no tiene sentido.....
Cita:
Iniciado por axy108
yo tambien opino lo mismo ya probe el codigo que posteaste blackwind y me funciono a la perfeccion, y tampoco entendi el "no tiene sentido" no supe a que se referia y tampoco entendi el codigo.

GRACIAS blackwind

SALUDOS
No me refiero a tu código, blackwind, del cual no haré comentarios. Lo que no tiene sentido es la pregunta inicial:

Cita:
Iniciado por axy108
Convertir un numero binario a decimal y viceversa.
Axy108. Realmente no existe lo que llamas "numero binario" ni "numero decimal". Se sobreentiende que te refieres a la representación.

La pregunta correcta debería haber sido "como reprepresentar un número en binario o en decimal".

Un número puede ser representado de muchas formas. Binario, decimal, hexadecimal, base 64, octal... Por ejemplo el número "tres" se puede representar como "11" en binario, como "3" en notación decimal, como "3" en notación hexadecimal y tambien lo puedo representar como "tres", pero no deja de ser la misma cosa, el número 3.

Resumiendo, un número no es mas que un número, una cantidad si lo prefieres, y ni es binario ni decimal ni nada, la representación del número es la que puede ser distinta, puede ser binaria, decimal etc.

Pero no os enfadeis por esto hombre que es una tontería.
  #9 (permalink)  
Antiguo 15/09/2004, 09:08
Avatar de axy108  
Fecha de Ingreso: diciembre-2003
Ubicación: En frente de mi Computadora
Mensajes: 415
Antigüedad: 20 años, 11 meses
Puntos: 0
Bueno gracias a todos por su ayuda los dos programas me corrieron a la perfeccion,

Gracias BlackWind por el codigo para representar(para que ya no se enoje doctor luz ) un numero binario a decimal.

Gracias RootK por el codigo para representar un numero decimal en binario

Y por ultimo pero no mas importante gracias a Doctor Luz por sus aportaciones pero bueno y aunque me parecio un poco kiskilloso de tu parte los comentarios, tienes razon y claro que no se va a acabar el mundo por cosas tan insignificantes, pero esta bien el procurar entre nosotros el referirnos bien a las cosas.

GRACIAS a todos

SALUDOS

__________________
Todos somos muy ignorantes :pensando: . Lo que ocurre es que no todos ignoramos las mismas cosas ;-) .... Albert Einstein :cool:
  #10 (permalink)  
Antiguo 15/09/2004, 09:58
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 21 años
Puntos: 7
Cita:
Iniciado por Doctor Luz
La pregunta correcta debería haber sido "como reprepresentar un número en binario o en decimal".
tu estas bien, pero la otra pregunta tambien es correcta, ya que el lenguaje asi lo ha "cambiado", no se de que pais seas, y quiza en tu pais lo digan asi, pero al menos en mexico, en los libros y en las escuelas usan la palabra "convertir"
  #11 (permalink)  
Antiguo 15/09/2004, 10:30
 
Fecha de Ingreso: septiembre-2004
Mensajes: 21
Antigüedad: 20 años, 2 meses
Puntos: 0
Si tenemos un idioma es para usarlo bien, ¿o no?. La verdad es que se dicen muchas cosas mal dichas en todos sitios, incluso en libros y escuelas.

Pero no vale la pena discutir por esto, la pregunta se sobreentendía perfectamente y no era mi intención resultar "kiskilloso".

Mejor lo olvidamos ¿OK?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 14:18.