¿Cómo puedes convertir números en binario?

Los números binarios son números en el sistema de numeración de base 2. Nosotros, los humanos, tendemos a usar números decimales (el sistema de numeración hindú-árabe) que son números en el sistema de numeración base 10. Para entender cómo funciona el binario, necesitamos entender cómo funcionan los diferentes sistemas de numeración basados.

Conversiones entre bases

En cualquier base, habrá una columna de unidades. La columna de unidades siempre será el dígito justo al lado del punto a su izquierda. Para convertir un número en cualquier base a base diez, el valor de cada columna es el dígito de esa columna multiplicado por la base a la potencia de la distancia a la columna de unidades.

  • Entonces, por ejemplo, en la base diez, 343 sería 3 * 10 ^ 2 + 3 * 10 ^ 1 + 3 * 10 ^ 0 = 300 + 40 + 3.
  • Un ejemplo en binario: 11001 sería 1 * 2 ^ 4 + 1 * 2 ^ 3 + 0 * 2 ^ 2 + 0 * 2 ^ 1 + 1 * 2 ^ 0 = 16 + 8 + 0 + 0 + 1 = 25.
  • Otro ejemplo: 1001011 sería 1 * 2 ^ 6 + 1 * 2 ^ 3 + 1 * 2 ^ 1 + 1 * 2 ^ 0 = 64 + 8 + 2 + 1 = 75.
  • Solo para ayudarlo a comprender la conversión de números a base 10, intentemos 276 en base 8. Esto significaría 2 * 8 ^ 2 + 7 * 8 ^ 1 + 6 * 8 ^ 0 = 128 + 56 + 6 = 190.

Para convertir números de decimal a otra base funciona de manera similar. Primero, encuentras el mayor poder de la base que se ajusta al número. Luego dividirías y encontrarías el valor en esa columna específica usando el exponente como la distancia desde la columna de unidades. Luego, tomas el resto y divides el siguiente poder de la base. Esto se repite hasta que no queda más y el resto de las columnas a la columna de unidades es 0. Si va a la columna de unidades y todavía queda un resto, pasará el punto y cada columna después es la distancia negativa desde La columna de unidades.

  • Un ejemplo de binario: 100 a base 2. La mayor potencia de 2 que entra en 100 es 6. entonces 100/2 ^ 6 es 1 que va a la 6ta columna a la izquierda de la columna de unidades. Encontramos el resto que es 36 y el proceso se repite pero a la siguiente columna. Al final, obtenemos 1100100.

Esto lo ayudará a comprender cómo convertir números en cualquier base a binario y a otras bases.

Otra cosa interesante sobre los números binarios (o números con cualquier base) es que puedes hacer las 4 operaciones básicas con ellos.

Por ejemplo, la suma de números binarios es realmente simple. Es similar a sumar números en base diez, excepto cuando la suma en una columna es 2, se transferirá de manera similar a una suma de base diez. Entonces, si sumamos 1001 y 1010, obtendríamos 10011 porque los 1 en la tercera columna en ambos números hacen que se transfiera un 1 y un 0 en la respuesta.

La resta es similar a la suma en números binarios pero un poco más complicada. Cuando hay un 0–1 en una columna, puede tomar prestado de su vecino (similar a la resta en la base diez pero 10 – 1 = 1). Entonces, si hacemos 1010–1001 obtenemos 0001. Esto se debe a que el 1 en la columna de unidades en el sustraendo se convierte en 1 tomando prestado de su vecino.

Otra forma de restar es un método conocido como complemento a dos. Para encontrar el complemento de dos de un número, primero, encuentre el número en forma binaria. Luego invierta cada dígito de 1 a 0 o de 0 a 1. Una vez que invierta los dígitos, agregue 1 para obtener el complemento de dos del número. Para hacer la operación de resta, agregue el minuendo al complemento de dos del sustraendo. No tiene que preocuparse por trasladar una vez que llegue al dígito más a la izquierda. Esta es la diferencia entre los dos números.

  • Un ejemplo de Complemento de dos: 79 a binario es 1001111. El complemento de dos será la inversión de los dígitos, 0110000, y luego más uno, 0110001. Este número binario será el complemento de dos de 79. Si calculamos 118, o cualquier otro número, menos 79, podríamos agregar el complemento de dos de 79 a ese número. Entonces 1110110 + 0110001 = 0100111 (39).

Este método funciona porque Two’s Complement representa la representación binaria negativa de ese número. Esto nos permite agregarlo directamente al minuendo para obtener la diferencia.

La multiplicación y división binarias son simples si domina la suma y la resta. Los procesos de multiplicación y división son similares a los de la base diez, pero todos los números están en binario. Entonces la suma en la multiplicación y la resta en la división es todo en binario.

Estos son los conceptos básicos que debe aprender para ayudarlo a comprender mejor el binario. Si trabaja en conversiones, podría ayudarlo a comprender mejor los números binarios y sus valores, y podría ayudarlo a verificar su trabajo al hacer otros problemas.

La realidad es que un número es solo un número. No está en ninguna base en particular, simplemente lo es . Las bases solo entran en juego cuando se trata de cómo escribir el número. Si tengo una docena de huevos, no importa si digo que tengo 1100 huevos, o 0C huevos, o 12 huevos, o 14 huevos (octal).

Me doy cuenta de que esta no es la pregunta que está haciendo, pero es importante comprender que los números, como tipo de datos, no están “en” ninguna base en particular, simplemente “están”. Las bases son una cosa representativa.

La pregunta que probablemente desee responder es “” ¿cómo tomo un valor numérico representado en la base 10 y lo visualizo en una representación de la base 2 “.

La razón por la cual la distinción es importante es que si está ejecutando en una computadora diseñada después de 1940, su valor ya está representado en binario dentro de la máquina, y lo que ve como decimal es un artificio. No comprender eso puede producir algunos métodos sorprendentemente poco elegantes e ineficientes para hacer lo que busca.

Dicho esto, aquí hay un pseudocódigo para mostrar una cantidad numérica, v, en binario:

Resultado = “”

Mientras v! = 0 do

Si impar (v) resultado = “1” + resultado más resultado = “0” + resultado

v = v >> 1 // desplazamiento a la derecha

Imprimir resultado

La forma canónica de representación numérica en una base arbitraria b> 1 y b \ in \ R es

[matemáticas] x = d_n * b ^ n +… + d_2 * b ^ 2 + d_1 * b ^ 1 + d_0 + d _ {- 1} * b ^ {- 1} + d _ {- 2} * b ^ {- 2} +… + d _ {- m} * b ^ {- m} [/ matemáticas]

donde [matemática] 0 <= d_i

Supongamos que tiene x y desea convertirla en base 2. Primero, trabajemos con la parte integral

[matemáticas] X_ {p_0} = \ lfloor X \ rfloor [/ math]

[matemáticas] d_i = X_ {p_i} \% 2 [/ matemáticas]

[matemáticas] x_ {p_ {i + 1}} = \ dfrac {\ lfloor x_ {p_i} \ rfloor} {2} [/ matemáticas]

Computadora d_i hasta que X_ {p_i} se convierta en 0.

Ahora para la parte fraccional

[matemáticas] x_ {f_0} = X – X_ {p_0} [/ matemáticas]

[math] d_i = \ lfloor 2 * x_ {f _ {- i}} \ rfloor [/ math] donde [math] i <0 [/ math]

[matemáticas] X_ {f_ {i_1}} = x_ {f_i} – \ lfloor x_ {f_i} \ rfloor [/ math]

Computadora hasta que tenga suficiente precisión.

Fue una tarea difícil de escribir en mi teléfono.

Ahora, para un código

  def to_bin (x0):
	 x = abs (x0)
	 xp = int (x - math.floor (x))
	 xf = piso (x) - xp

	 d = []
	 mientras que xp! = 0:
		 D. inserción (0, XP y 1)
		 xp = xp >> 1

	 para i en xrange (15): #sobre tanta precisión como se obtiene de un doble
		 d.append (int (xf * 2))
		 xf = xf * 2 - int (xf * 2)

	 volver d

intenta también

  '' .join (mapa (str, d))

Si no tiene una calculadora que pueda hacer eso (¿En serio? ¡Vaya de compras a su tienda de aplicaciones!), La forma más fácil a mano es dividir continuamente entre 2 y conservar el método de los restos. Fácil de hacer, incluso si todo lo que tiene es un bolígrafo y un trozo de papel.

Si te consuela: nunca volverás a hacer eso tan pronto como dejes la escuela.

Divide sucesivamente entre dos y recoge los restos, hasta que el último cociente sea cero.

Piénselo: supongamos que tiene un polinomio de grado dos, como

[matemáticas] A = ax ^ 2 + bx + c. [/ matemáticas]

Observe que los primeros dos términos son divisibles por x. Entonces A dividido entre x deja un cociente de ax + b, y un resto de c:

[matemáticas] A / x = ax + b + c / x. [/ matemáticas]

Si A fuera un número natural dado, y si hubiéramos realizado, por ejemplo, esta división a mano, habríamos obtenido fácilmente el valor de c como el “resto” de la división. De lo contrario, usando una calculadora, podríamos haber multiplicado la parte fraccionaria de la división por nuestro valor de x (que, en el contexto de la pregunta actual, es 2.) De todos modos, el punto es que ahora sabemos qué es c ; para que podamos descartar el último término, repetimos el proceso en el cociente de la división anterior, que llamaremos B:

[matemáticas] B = hacha + b. [/ matemáticas]

Repitiendo el proceso, obtenemos un cociente de a, y (más importante) un resto de b:

[matemáticas] B / x = a + b / x. [/ matemáticas]

De nuevo, dejemos que C sea el cociente de la división anterior:

[matemáticas] C = a [/ matemáticas]

Dividiendo nuevamente por x,

[matemáticas] C / x = a / x [/ matemáticas]

Dejándonos con un cociente D de cero:

[matemáticas] D = 0. [/ matemáticas]

Admito que esto parece un poco discutido, pero al obtener cocientes y residuos sucesivos hasta que obtenemos un cociente de cero, hemos extraído efectivamente los coeficientes de nuestro polinomio A original, comenzando con el coeficiente del grado más bajo y avanzando hasta el de mayor grado: según el ejemplo anterior, una vez que obtenemos un par de cociente restante de (0, r), sabemos que r es el dígito más a la izquierda de nuestro número, sin importar la base.

Entonces, si A fuera, digamos, 23, yx = 2, tendríamos:

[matemáticas] 23/2 = (11, 1) [/ matemáticas]

[matemáticas] 11/2 = (5, 1) [/ matemáticas]

[matemáticas] 5/2 = (2, 1) [/ matemáticas]

[matemáticas] 2/2 = (1, 0) [/ matemáticas]

[matemática] 1/2 = (0, 1). [/ matemática]

Por lo tanto, los coeficientes sucesivos de A son (a partir del grado 0):

[matemáticas] e = 1 [/ matemáticas] [matemáticas], d = 1, c = 1, b = 0, a = 1 [/ matemáticas]

Entonces, A es un polinomio de grado 4; entonces tiene la forma

[matemáticas] ax ^ 4 + bx ^ 3 + cx ^ 2 + dx + e [/ matemáticas]

Sustituyendo:

[matemáticas] 1 * x ^ 4 + 0 * x ^ 3 + 1 * x ^ 2 + 1 * x + 1. [/ matemáticas]

Por definición, entonces

[matemáticas] 10111 [/ matemáticas]

es 23 en binario.

  1. Para comenzar, llamemos al número al que desea convertir su número de prueba
  2. Divida el número de prueba entre 2, dando un nuevo número de prueba y un resto de oo 1. Tenga en cuenta el resto. También tome nota del nuevo número de prueba.
  3. Si este es su primer ciclo, escriba el dígito restante a la derecha de un espacio en blanco agradable, bastante ancho, para dejar espacio para más dígitos a la izquierda.
  4. Si este NO es su primer ciclo, escriba el resto justo a la izquierda de los restos que ya ha grabado.
  5. Repita los pasos 2 a 4 hasta que el nuevo número de prueba sea cero.

Cuando haya completado este ejercicio de bucle, debería tener la versión binaria de su número inicial original.

HOLA,

Si desea hacerlo en Java, consulte el código de ejemplo en Escribir un programa en Java para convertir el número decimal en número binario.

Thaks

Supongo que desea el valor binario para números más allá de 0 y 1. Hay un cierto método en el que obtiene el resto con 2 (x% 2). Ese es tu primer dígito. Luego divida entre 2. Repita estos dos pasos hasta llegar a 0 y tendrá un número en binario.

por ejemplo, 136 es 10001000 en binario.

136/2 = 68 resto 0

68/2 = 34 resto 0

34/2 = 17 resto 0

17/2 = 8 resto 1

8/2 = 4 resto 0

4/2 = 2 resto 0

2/2 = 1 resto 0

1/2 = 0 resto 1

Debe dividir el número decimal por 2 repetidamente hasta que no le quede nada. Luego unifica los restos al revés. Déjame mostrarte este diagrama para ayudarte:

(Foto tomada de Google Images)

En este caso, 11101001 es 233 en binario.

divide el número entre 2 escribe el recordatorio

dividir por 2 otra vez anote el resto

sigue hasta llegar a 0

lea los números de abajo hacia arriba

ese es tu número en binario

ejemplo comienza con 6

dividir por 2 obtener 3 rem 0

dividir por 2 obtener 1 rem 1

dividir por 2 obtener 0 rem 1

num es ahora 0, así que para

el número en binario es 110