Hace 2 años | Por --682766-- a twitter.com
Publicado hace 2 años por --682766-- a twitter.com

Matemáticas, programación informática, ingeniería, movimiento, creatividad. Este es un mecanismo de enlace para convertir números binarios a números decimales. Creado por Keishiro Ueki.

Comentarios

D

Decimal: número * (posición * 10) + número * (posición-1 * 10) hasta llegar al de más a la derecha que es número * (0 * 10) + número
Binario : número * (posición * 2) + número * (posición-1 * 2) hasta llegar al de más a la derecha que es número * (0 * 2) + número

¿no? a estas horas quizás me he equivocado pero no es tan complejo.

decimal: 1 = 1*0+1
binario: 1 = 1*0+1

decimal 10 = 1*10 + 0*0+0 = 10
binario 10 = 1*2 + 0*0+0 = 2

decimal 100 = 1*100 + 0*10 + 0*0+0 = 100
binario 100 = 1*4 + 0*2 + 0*0+0 = 4

decimal 101 = 1*100 + 0*10 + 0*0+01= 101
binario 101 = 1*4 + 0*2 + 0*0+1 = 5

Y repito, puede que por la hora, esperando que el niño se duerma (tiene fiebre y se va despertando a ratos) esté un poco KO y me equivoque, pero la idea si no es esa, es parecida lol

Jakeukalane

#1 sí.

x*10^n siendo n la posición empezando en 0. Elevar a 0 da uno.
P. ej. 653: 6*10²+5*10¹+3*10¹.
101010 → 1*2⁵+0*2⁴+1*2³+0*2²+1*2¹+0*2⁰ =42. Aunque los ceros no hacen falta.

Tiene la ventaja de que sirve para cualquier base:

A56F→ 10*16³+5*16²+6*16¹+15*16⁰= 42351 (A en hexadecimal vale diez y F quince).

El bicho este lo hace visual. No sé qué aplicaciones prácticas tendrá, pero es interesante.

Patxi12

#1 Joder, eso lo aprendí en primero de informática.

D

#5 A mi me suena de BUP o COU pero no recuerdo

Nova6K0

En todos los sistemas de numeración se cuenta de la misma forma, y el peso del número, lo único que cambia es el número multiplicador, al menos para pasar cada uno de esos sistemas a decimal.

Para convertir cualquier sistema de numeración al sistema decimal, se suman los pesos de los números. Que es la base del sistema multiplicada por el número, elevado a la posición que ocupa. Siendo la posición 0, el primer número contado de derecha a izquierda, y siendo -1, el primer número a partir de la coma. Ejemplo con el binario:

101001 = 1 x 25 + 0 x 24 + 1 x 23 + 0 x 22 + 0 x 21 + 1 x 20 ->

32 + 0 + 8 + 0 + 0 + 1 = 41

Es decir:

101001(2 -> es 41(10

La base del sistema se pone como submúltiplo para saber que ese número pertenece a ese sistema en concreto. Esto lo digo porque

101001 también puede ser, por ejemplo trinario (donde los elementos del sistema son 0,1,2. Recordando que los elementos de cualquier sistema de numeración son siempre 0 a B-1, donde B es la base del sistema), y es un número completamente distinto.

101001 = 1 x 35 + 0 x 34 + 1 x 33 + 0 x 32 + 0 x 31 + 1 x 30 ->

243 + 0 + 27 + 0 + 0 + 3 = 273

101001(3 -> es 273(10

Lo mismo se hace con números con decimales, pero las posiciones de cada número son negativas:

1011,101(2

¿Cómo se hace? Generalmente en dos partes. Voy a saltarme la primera, y poner directamente el número sin la parte decimal:

1011,101(2 = 11 + 0, 625 = 11,625(10

1 x 2-1 + 0 x 2-2 + 1 x 2-3

0,5 + 0 + 0,125 = 0,625

En realidad hay una forma más fácil de verlo, pero dependiendo de la base del sistema es más complicado o menos. En binario es fácil, hasta ciertos números. Ya que desde el primer número hacia la izquierda es el doble del anterior (precisamente porque la base es dos), y hacia la derecha, a partir de la coma es la mitad, por cada posición.

128 64 32 16 8 4 2 1

Y hacia desde la coma sería

1/2, 1/4, 1/8, 1/16, 1/32, 1/64, 1/128

En un ejemplo muy sencillo:

110,11(2 = ( 4 + 2 + 0) + (0,5 + 0,25) = 6,75(10

Luego la conversión inversa es un poco más complicada. Pero es lo mismo respecto a la metodología:


19(10 = 10011 (2

¿De donde sale esto? De dividir el número consecutivamente entre la base del sistema. Mirando los restos de cada división. Y cogiendo el último cociente, y todos los restos de abajo a arriba.

19/2 = 9 resto 1
9/2 = 4 resto 1
4/2 = 2 resto0
2/2 = 1 resto 0

¿Y si el número tiene decimales? Si el número tiene decimales, depende de cuantos decimales queramos. Pero se coge la parte decimal, y se multiplica por dos. Una vez hecho esto, cada parte decimal que quede de la multiplicación anterior, se sigue multiplicando de forma consecutiva. Hasta que la parte fraccionada sea 0

19,125(10

0,125 x 2 = 0,250
0,25 x 2 = 0,5
0,5 x 2 = 1,00

19,125(10 =10011,001(2

De hecho hay otra forma de hacerlo. Vamos buscando el número al que hay que elevar la base del sistema para que nos de 0,125 ¿Cuál es ese número?

2-3 -> 21/8 -> 0,125

Muy bonito. Ahora bien. Esto es porque la parte decimal es un número múltiplo de dos, bien entero o fraccionado (2,4,8,16... o 1/2,1/4,1/8,1/16...)

¿Y si fuese?

19,184(10

Aquí la cosa se complica, porque nunca vamos al multiplicar a tener en la parte fraccionada ,00. Entonces necesitamos aproximación de decimales. Es decir cuantos decimales queremos.

Por ejemplo con cinco decimales.

0,184 x 2 = 0,368
0,368 x 2 = 0,736
0,736 x 2 = 1,472
0,472 x 2 = 0,944
0,944 x 2 = 1,888
------------------------
0,888 x 2 = 0,766
0,766 x 2 = 0,552

...

Entonces

19,184(10 =10011,00101(2

Saludos.

Polarin

Y "Calculo Numerico" la asignatura mas surrealista que he tenido en mi vida.