Foro de elhacker.net

Foros Generales => Dudas Generales => Mensaje iniciado por: SrCooper en 5 Marzo 2014, 19:20 pm



Título: ¿Por qué el binario fue (y es) más efectivo?
Publicado por: SrCooper en 5 Marzo 2014, 19:20 pm
Buenos días a todos, el otro día estaba leyendo un artículo sobre los origenes de la informática y me surgió una duda, a ver si alguien la puede resolver  :D

En el artículo decía que una de las primeras computadoras fue la ENIAC, que era decimal, ocupaba varias habitaciones y pesaba treinta toneladas. Más adelante apareció la EDVAC, que fue la primera en utilizar el código binario y en el artículo se menciona que esto redujo significativamente el tamaño y la complejidad de esta.

Mi pregunta es, básicamente, ¿por qué el uso la aritmética binaria redujo el tamaño y el peso de la máquina? Es decir, ¿por qué el binario fue más efectivo que el decimal?

Un saludo y gracias de antemano

PD: No sabía muy bien en que subforo colocar este tema, mil disculpas si no es el acertado  ;D


Título: Re: ¿Por qué el binario fue (y es) más efectivo?
Publicado por: Randomize en 5 Marzo 2014, 19:26 pm
Por el uso de condensadores que cargados son uno y vacíos son cero.

¿Te has fijado en el tamaño de los condensadores de hoy día?


"Nanometros" es un vocablo que deberías también conocer.


Título: Re: ¿Por qué el binario fue (y es) más efectivo?
Publicado por: Minusfour_cierralo_o_baneamefull en 19 Marzo 2014, 02:01 am
Por el uso de transistores, los condensadores solo filtran el voltaje.

11111111 -> 1 byte -> 255 posibles valores
12345678 -> bits con un valor asignado -> 36 posibles valores

es más eficiente el primero, un procesador con el mismo numero de bits realizaría menos operaciones.


A mi también me asaltan estas curiosidades de vez en cuando. Por ejemplo una de las cosas que no entiendo, porque se empieza a contar desde el 0 en la informática.

Es algo que veo absurdo, un for que cuente desde el 0 es subrealista.

En el mundo real si tienes una caja con 3 compartimentos y quieres poner 1 objeto en cada uno empiezas a contar desde el objeto 1 al 3, igual que el compartimento 1 al 3.



Título: Re: ¿Por qué el binario fue (y es) más efectivo?
Publicado por: Gh057 en 19 Marzo 2014, 04:59 am
jajaj muy bueno Bundor lo del for! pero no pensaste que tu estado inicial realmente es cero? cuando llenas el primer compartimiento tienes uno...

con respecto a tu consulta SrCooper, bueno es una suma de hechos... es cierto que la reducción coincide con el uso del sistema binario (analogía directa con recibir una señal o no) pero recuerda que también fue tanto por la implementación de la abstracción en la máquina de J. Von Neumann, como por el uso de nuevas técnicas; los primeros modelos eran valvulares, luego apareció el transistor, el circuito integrado, el chip... la reducción de tamaño y aumento de capacidad en los transistores y en dispositivos de almacenamiento también conlleva a la miniaturización del hard...

como podrás observar el sistema numérico utilizado no es todo... interesante va a ser con el desarrollo cuántico, porque puede estar 0, 1... o ambos! jajajaa


Título: Re: ¿Por qué el binario fue (y es) más efectivo?
Publicado por: engel lex en 19 Marzo 2014, 05:12 am
lo de por qué empieza en 0 puedes verlo así...


(http://iruler.net/ruler_0_10.jpg)

tienes una regla y vas a colocar 3 elementos de 1cm...

en que marca colocas el primero?
en el 0 cierto? y el 3ero entonces lo quedas alineando a la linea del 2...

entonces lo puedes ver como "¿qué numero marca al espacio que estoy usando?"


Título: Re: ¿Por qué el binario fue (y es) más efectivo?
Publicado por: Minusfour_cierralo_o_baneamefull en 19 Marzo 2014, 11:37 am
Agradezco las respuestas, pero sigo pensando que no tiene lógica.

En una carrera ganaría el que está en la posición 0.
No tendría 2 manos, tendría 1 mano la otra sería la mano 0.
Y así hasta lo absurdo.

Que nos hayamos acostumbrado a hacerlo así no justifica que tenga lógica, de hecho creo que no interviene nada relacionado con la potencia de un pc, creo que es una tradición bastante retorcida.


Título: Re: ¿Por qué el binario fue (y es) más efectivo?
Publicado por: #!drvy en 19 Marzo 2014, 12:23 pm
Es cuestión de verlo de diferente manera xD

Citar
En una carrera ganaría el que está en la posición 0.

Todos empiezan en la posición 0. En una carrera siempre se avanza en cuanto a numero. Por ejemplo en una carrera de correr 500 metros, los participantes SIEMPRE avanzan. El hecho de que uno sea primero o segundo es una simple designación que le damos para diferenciarlo. Realmente, el primero es el que mas metros ha recorrido durante el menor tiempo posible. pero si lo plasmas en datos seria:

1ro - 500 m - 15s
2do - 500 m - 16s
3ro - 500 m - 18s

Citar
No tendría 2 manos, tendría 1 mano la otra sería la mano 0.

Cuando empiezas a contar, empiezas a contar desde cero y dices, 1 mano, 2 manos. Siempre tienes que avanzar desde algún punto. Lo mismo con los dedos, 1 dedo (ya has avanzado), 2 dedos (ya has avanzado dos veces) etc...

http://www.cs.utexas.edu/users/EWD/ewd08xx/EWD831.PDF
http://en.wikipedia.org/wiki/Zero-based_numbering

Lo de los bucles for tiene una buena explicación (esta en el enlace de la wikipedia).

Si yo hago un bucle for, y quiero que este saque 9 números hago un for:
Código:
for (i=0; i<9; i++){ print i; }

Me imprimirá 0,1,2,3,4,5,6,7,8 que son nueve números.
Pero que pasa si en vez de 0 empezamos por 1 ? 1,2,3,4,5,6,7,8 son 8 números.

Por tanto, tendría que hacer que el bucle empize en 1 y termine en 10 para imprimir 9 nuevos ·_·

Saludos


Título: Re: ¿Por qué el binario fue (y es) más efectivo?
Publicado por: Gh057 en 19 Marzo 2014, 12:32 pm
hola Bundor, es derivado también del concepto de la representación gráfica de los números en una recta, para graficarla solo necesitas el cero y una unidad, luego cada número (por el axioma del buen orden) sabrás cuantas unidades a la derecha o a la izquierda se encontrará del cero... y nace así otro concepto, el de valor absoluto, que representa la  distancia entre ellos.

igualmente puede tener algo de retorcido... así son los números jejejej saludos!  ;D


Título: Re: ¿Por qué el binario fue (y es) más efectivo?
Publicado por: Minusfour_cierralo_o_baneamefull en 19 Marzo 2014, 13:38 pm
A ver no pretendo levantar polémica solo era una curiosidad, de todas formas os expongo mi punto de vista.

Comentais el valor absoluto;  si creo un vector de 5 posiciones tengo 0-1-2-3-4 posiciones relaes. Esto en la realidad no se dá. Tu cuentas 5 intentos y tienes 1-2-3-4-5 , valor absoluto el 5. El valor que se almacena dentro es el que importa, si es un número real (con números negativos y positivos con su paso por cero), decimal, octal, etc.

Si cogemos un sistema como los fluidos que empieza por el 0 y se va llenando hasta el 1 pues vale, pero contaríamos "0,1" o "0,algo", pero esto es UN VALOR,  no una POSICIÓN. Lo pongo en grande para diferenciarlo mejor.

A mi me gustan las cosas sencillas por lo tanto los vectores, arrays y bucles serian mas sencillos. Es cuestión de sumarle 1 pero eso hace el codigo menos eficiente, es una operación extra. Por eso veo todo eso una chapuza, que igual tiene su explicación de ser pero la desconozco.


Título: Re: ¿Por qué el binario fue (y es) más efectivo?
Publicado por: Gh057 en 19 Marzo 2014, 13:51 pm
hola Bundor, mi comentario fue de la recta numérica, pareciera que leíste solo el final (que era a título informativo no era parte del uso del cero) y no le veo nada de ilógico, comentas de la posición, pero es lógico que empieces desde el cero (no creo que empieces a caminar ya con un paso dado! ;D)

vuelvo a repetir, es tan solo un estado inicial... e igualmente siempre podrás usar tu propias normas al programar con las que estés a gusto o te sientas más cómodo, eso es lo bueno del código, saludos!  ;D


Título: Re: ¿Por qué el binario fue (y es) más efectivo?
Publicado por: engel lex en 19 Marzo 2014, 14:25 pm
bueno, el for tu lo recorres de.0 a algo xD

por otro lado siempre esta el asunto de que el valor del array es un offfset y funciona como la rwgla, por ejemplo

int a[10]

a contiene el valor de memoria donde inicia el array, ejemplo 1000

sabemos que un int son 4 byte, entonces, la posicion 0 del array es
1000+(0*4)
la 1
1000+(1*4)

por eso ubicaba el caso de la regla, porque el lo que indica es dobde inicia su


Título: Re: ¿Por qué el binario fue (y es) más efectivo?
Publicado por: SrCooper en 19 Marzo 2014, 16:38 pm
Gracias a todos por vuestras respuestas, ya me ha quedado un poco más claro  :D

Un saludo


Título: Re: ¿Por qué el binario fue (y es) más efectivo?
Publicado por: skapunky en 19 Marzo 2014, 22:40 pm
EL bucle "for" no es que empiece a contar desde 0...tu le puedes asignar el valor inicial que quieras, aunque el primer valor ocupará la posición 0 de la matriz.

A nivel de bit es de lógica pensar en 0-1, de hecho el concepto de 0-1 viene de la electrónica, disciplina muy anterior a la informática y todos estos conceptos no nacieron con la informatica, sinó con la electrónica. La informática la crearon electrónicos que con su evolución,  se creó la disciplina como hoy la conocemos.

Ahora piensa en un entero (int / integer), un entero tiene un rango de valores, donde uno de sus valores es el 0. Si saltásemos del -1 al 1, a nivel electrónico para el calculo de la ALU del ordenador sería un fail. En la informática en consecuencia pasa lo mismo ya que nació de la electrónica y a nivel de calculo un ordenador necesita que exísta un cero. Si nos fijamos en lenguajes como el ensamblador, sería imposible percibir que el primer valor, es decir el mas bajo, fuera por ejemplo 0x01h y no 0x00h.

Sobre la pregunta del binario...

Un ordenador se conforma por una unidad central con distítnos dispositivos, la información de estos dispositivos..para que me entiendas, son fácilmente interpretables mediante 0 y 1, de ahí nace el concepto de numeros binarios. La unidad central por ejemplo, dispone de un dispositivo llamado ALU, que es un chip que realiza operaciones matemáticas. Dicho chip opera en binario justamente por rapidez y facilidad de interpretacion por su estructura interna.

Operar numeros en binario, en el campo de la electrónica es muy sencillo.


Título: Re: ¿Por qué el binario fue (y es) más efectivo?
Publicado por: Minusfour_cierralo_o_baneamefull en 22 Marzo 2014, 22:31 pm
Yo solo decía de empezar por 1 en vez de 0. Has interpretado que elimine el cero del sistema y no es eso.

Lo que yo intentaba decir es que se haga sencillo, si tienes 100 casillas en una tabla poner del 1 al 100 en vez de 0 al 99. Luego en ciertas ocasiones vienen chapuzas del estilo "tabla-1".

Pero como bien has dicho por herencia de algún sitio como la electrónica y las matemáticas, se estableció así, pero no es la forma mas lógica de hacerlo.


Título: Re: ¿Por qué el binario fue (y es) más efectivo?
Publicado por: engel lex en 23 Marzo 2014, 08:02 am
aclaremos algo... si es la forma más lógica de hacerlo (estamos hablando de lógica real), que no sea la forma más humana y razonable de hacerlo es otra cosa...