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

Que hace este código?

Estas en el tema de Que hace este código? en el foro de C/C++ en Foros del Web. Saludos amigos en la escuela me dijeron que explicara lo que hace este código pero no tengo idea de como explicarlo paso por paso alguien ...
  #1 (permalink)  
Antiguo 12/02/2009, 09:48
 
Fecha de Ingreso: abril-2008
Mensajes: 4
Antigüedad: 16 años
Puntos: 0
Que hace este código?

Saludos amigos en la escuela me dijeron que explicara lo que hace este código pero no tengo idea de como explicarlo paso por paso alguien me pudiera ayudar a explicarlo en una cuartilla?


EJERCICIO 7
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

void binario(int numero)
{
int binario, m, bit, nbits;
unsigned mascara;
nbits=16;
m=0x1<<(nbits-1);
mascara=m;
for (bit=1; bit<=nbits; bit++)
{
binario=(numero & mascara) ? 1:0;
printf("%x", binario);
mascara>>=1;
}
}

int main(void)
{
int numero;
printf("\n INDIQUE NUMERO A CONVERTIR:");
scanf("%d",&numero);
de 16 bits*/
binario(numero);
return 0;
}

Espero sus respuestas gracias.
  #2 (permalink)  
Antiguo 12/02/2009, 11:31
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 17 años, 10 meses
Puntos: 28
Respuesta: Que hace este código?

Creo que lo primero que debes hacer es tratar de entender que hace, luego podríamos darte ciertas orientaciones.

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
  #3 (permalink)  
Antiguo 12/02/2009, 12:19
Avatar de MeduZaPaT  
Fecha de Ingreso: enero-2009
Ubicación: USA
Mensajes: 106
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Que hace este código?

ese programa convierte a binario
  #4 (permalink)  
Antiguo 13/02/2009, 13:25
 
Fecha de Ingreso: diciembre-2008
Mensajes: 24
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Que hace este código?

Cita:
Iniciado por MeduZaPaT Ver Mensaje
ese programa convierte a binario
<ironic>
Joder que listo eres macho, un lince por lo menos, ves binario, que pide un numero a convertir e imprime un numero binario y eres capaz de deducir, tu solito supongo, que convierte a binario.. una maquina vamos... de aqui al premio nobel.... </ironic>

Creo que eso lo sabe hasta el que ha hecho la pregunta y eso no vale para ningun ejercicio de clase que yo sepa, lo que el pide es que le expliquemos el proceso de como convierte un numero a binario mediante ese código.

Como es normal no voy a contestar a la pregunta por que no soy partidario de hacerle los deberes a nadie, ya que el principal perjudicado es él mismo.
  #5 (permalink)  
Antiguo 15/02/2009, 11:44
Avatar de MeduZaPaT  
Fecha de Ingreso: enero-2009
Ubicación: USA
Mensajes: 106
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Que hace este código?

Cita:
Iniciado por mejias Ver Mensaje
<ironic>
Joder que listo eres macho, un lince por lo menos, ves binario, que pide un numero a convertir e imprime un numero binario y eres capaz de deducir, tu solito supongo, que convierte a binario.. una maquina vamos... de aqui al premio nobel.... </ironic>

Creo que eso lo sabe hasta el que ha hecho la pregunta y eso no vale para ningun ejercicio de clase que yo sepa, lo que el pide es que le expliquemos el proceso de como convierte un numero a binario mediante ese código.

Como es normal no voy a contestar a la pregunta por que no soy partidario de hacerle los deberes a nadie, ya que el principal perjudicado es él mismo.
te haces el "super ironic way" y no te das cuenta que mi respuesta tambien es ironica para vos aclaro (ya que no entendiste la ironia de mi respuesta) trate de decirle: no hago tarea de nadie salvo que me paguen por ello.
  #6 (permalink)  
Antiguo 23/02/2009, 15:11
 
Fecha de Ingreso: enero-2009
Mensajes: 67
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Que hace este código?

Hola bueno, lo que puedo ver a simple vista es que usa corrimiento de bits despues compara el numero que diste con un numero nuevo que salio apartir del corrimiento de bits y usa el operador AND, que es una tabla de verdad de bits:

1 1 1
1 0 0
0 1 0
0 0 0
Donde ves el opderador "&" es que los compara para crear de ahi un hilo de bits
Ejemplo:

10 & 01= 00
11 &10 = 10

Si te fijas siempre que los dos bits esten encendidos ( osea sean 1) dara como resultado un bit encendido (1), encambio si los bits son diferentes, dara un resultado 0(bit apagado).

Ah, me olvidaba donde ves el operador << es que tu tienes un hilo de bits por ejemplo 000000101010, el operador << n indica que ese hilo se movera n posiciones a la izquierda y donde habia bits antes de correrlos se agregaran ceros: Ejemplo:

000000101010 << 2 (Se mueve 2 bits a la izquierda 000010101000 y si lo cambias a decimal, el segundo numero es mayor.

otros operadores de corrimiento: (<< >> >>>)

Espero verte ayudado :)
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 10:51.