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
| |||
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; } |
| |||
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:
por ejemplo.printf("%d",numero); 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"); |
| |||
Cita: el programa funciona, y matematicamente se llama conversion de binario a decinaml.........
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. no se por que dices que no tiene sentido..... |
| ||||
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: |
| ||||
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: |
| ||||
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: Espero te funcione.#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; } Salu2
__________________ Nadie roba nada ya que en la vida todo se paga . . . Exentrit - Soluciones SharePoint & Net |
| |||
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: No me refiero a tu código, blackwind, del cual no haré comentarios. Lo que no tiene sentido es la pregunta inicial:
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 Cita: Axy108. Realmente no existe lo que llamas "numero binario" ni "numero decimal". Se sobreentiende que te refieres a la representación.
Iniciado por axy108 Convertir un numero binario a decimal y viceversa. 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. |
| ||||
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: |
| |||
Cita: 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"
Iniciado por Doctor Luz La pregunta correcta debería haber sido "como reprepresentar un número en binario o en decimal". |
| |||
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? |