Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: mort en 5 Febrero 2015, 01:21 am



Título: Ayuda con la interpretación de este problema:
Publicado por: mort en 5 Febrero 2015, 01:21 am
Disculpen no entiendo este problema, me podrían ayudar a comprender lo que tengo que hacer:

Introduzca un numero entero que contenga solo unos y ceros (es decir un entero "binario") y que despliegue su equivalente decimal.[ pista: Utilice los operadores de división y residuo para separar los dígitos del numero "binario", uno por uno, de derecha a izquierda. Así como en el sistema de numeración decimal el dígito mas a de la derecha tiene un valor de posición de 1, y el siguiente dígito a la izquierda tiene un valor por posición de 10, después de 100, después de 1000, y así sucesivamente, en el sistema binario de numeración, el dígito que se encuentra a la derecha tiene un valor por posición de 1, el siguiente dígito a la izquierda tiene un valor por posición de 2, después de 4, de 8, y así sucesivamente. Así el numero 234 se puede interpretar como 4*1 +3*10 +2*100. El equivalente decimal del numero binario 1101 es 1*1 + 0*2 + 1*4 + 1*8 o 1 + 0 + 4 + 8 o 13].



Título: Re: Ayuda con la interpretación de este problema:
Publicado por: engel lex en 5 Febrero 2015, 01:39 am
mete tu falso binario en una variable tipo int...

la cosa es que según sabemos puedes hacer lo siguiente
Código
  1. int a = 1234;
  2. a = a/10; //<- aquí "a" ahora vale 123
  3. a = a/10; //<- aquí "a" ahora vale 12
  4. a = a/10; //<- aquí "a" ahora vale 1
  5. a = a/10; //<- aquí "a" ahora vale 0
  6.  

tambien sabemos que
Código
  1. int a = 1234;
  2. int b = 0;
  3. b = a - (a/10) * 10; //<- "b" vale la ultima cifra de "a"
b vale 4 en ese ejemplo porque

1234/10 = 123
123 * 10 = 1230
1234-1230 = 4

y esto se repìte tanto como necesites

espero que con eso puedas pensar por donde continuar :P