Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Determinar cuál es el mayor/menor de 2 números binarios.

Estas en el tema de Determinar cuál es el mayor/menor de 2 números binarios. en el foro de C/C++ en Foros del Web. Cita: Hago esta aclaración porque en muchos casos suponen que tengo 15 o 20 años(es lo lógico) y en realidad tengo 61, como comprenderán no ...
  #1 (permalink)  
Antiguo 18/10/2013, 12:22
RoDaVi
Invitado
 
Mensajes: n/a
Puntos:
Información Determinar cuál es el mayor/menor de 2 números binarios.

Cita:
Hago esta aclaración porque en muchos casos suponen que tengo 15 o 20 años(es lo lógico) y en realidad tengo 61, como comprenderán no voy a la facultad y la gente que conozco no tiene la más mínima idea lo que es la computadora y menos programar.-
Hola a todos.
Si bien el programa que pongo a continuación no da resultados correctos, no es lo importante por el momento, seguramente (con los genios que hay en este foro) al final me ayudarán a lograr el cometido.-
Por el momento la consulta es la siguiente:
Código C:
Ver original
  1. fgets(primer_bits, 9 , stdin);
Puedo de alguna manera obtener los datos ingresado por teclado sin tener que utilizar fgets, directamente de stdin?.-

Cita:
0000 1000 es mayor que 0000 0111 Para compararlos sin necesidad de convertirlos a sistema decimal, primero habría que mirar el número de dígitos que tienen, el que tenga más dígitos es el mayor. Si tienen la misma cantidad de dígitos, habría que compararlos de izquierda a derecha número por número hasta encontrar la primera divergencia, de manera que el que sea 1 será mayor.
Código C:
Ver original
  1. #include <stdio.h>
  2.  
  3. int main(int argc, char *argv[])
  4. {
  5.     int ing = 0,_bits = 1;
  6.     char numero = 0;
  7.  
  8.     while(_bits < 65){
  9.         printf("\n\t Ingresa 0 o 1 para insertar en el bit %d.....: ",_bits);
  10.         scanf("%d",&ing);
  11.         if (ing) numero=numero | _bits;
  12.         _bits *= 2;
  13.     }
  14.     printf("\n\t En decimal = %d \n\n", numero);
  15.  
  16.   return 0;
  17. }

Un gran saludo.
Daniel
  #2 (permalink)  
Antiguo 22/10/2013, 13:28
Avatar de omar10594  
Fecha de Ingreso: junio-2013
Ubicación: Mexico
Mensajes: 26
Antigüedad: 10 años, 10 meses
Puntos: 3
Respuesta: Determinar cuál es el mayor/menor de 2 números binarios.

No soy un genio, aun soy estudiante, pero te pregunto, ¿has trabajado con cadenas?

Pienso que por el tipo de comparacion, se haria mas facil con la utlizacion de la libreria
Código C:
Ver original
  1. <string.h>
Captura el numero binario como una cadena, entonces comparas ambos numero con
Código C:
Ver original
  1. strcmp(cadena1,cadena2)
y si al comparar el primer numero, con el segundo, te da un valor mayor a cero, entonces el primer numero es mayor al segundo.
Código C:
Ver original
  1. if (strcmp(n1,n2)>0)
  2. {
  3. //n1 es mayor a n2
  4. }
  #3 (permalink)  
Antiguo 23/10/2013, 14:18
Avatar de iblancasa  
Fecha de Ingreso: diciembre-2012
Ubicación: España
Mensajes: 143
Antigüedad: 11 años, 4 meses
Puntos: 16
Respuesta: Determinar cuál es el mayor/menor de 2 números binarios.

Buenas.

Primero quiero comentar una cosa:
Cita:
0000 1000 es mayor que 0000 0111 Para compararlos sin necesidad de convertirlos a sistema decimal, primero habría que mirar el número de dígitos que tienen, el que tenga más dígitos es el mayor.
No estoy de acuerdo con esto. Imagina que introduzco estas dos cadenas:
0000 y 1. Como la primera cadena tiene más caracteres que la segunda...

¿Dónde quieres usar fgets? Veo que andas usando scanf.

Un saludo.

Etiquetas: determinar, int, numero, programa
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




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