Davidmh escribió:
Iserp escribió:
Pero está claro que lo habitual es contar en unario, y aunque los dedos tengan infinitos estados posibles, eso no hace que estemos usando una base infinita, sino unario, y con 10 dedos podamos contar solamente hasta 10.
Señal: dedo estirado. 1
Ausencia de señal: dedo encogido. 0
Eso es binario. [Edit] La longitud de palabra es diez.
Te veo un poco cabezota.... (sin ánimo de ofender)
En binario 1111 es 15 decimal, en unario 1111 es 4 decimal.
Sea lo que sea unario, está claro que es distinto del binario.
Voy a hacer otra intentona, a ver si me explico. Piensa en unario y binario en un mundo abstracto, de modo que no haga falta "ausencia de señal", un mundo en el que exista solo el "1111" como una única entidad. Como en este mundo no hay tal "ausencia de señal", espero que estés conmigo de acuerdo en que el unario como tal existe de forma pura*
Ahora bien, queremos llevar estas entidades abstractas a nuestro mundo a través de símbolos (ya sean voltajes, cifras escritas, ...). En este caso, para distinguir lo que es el número del resto de información que corresponde a nuestro número, necesitaremos alguna manera de establecer alguna separación, y como mínimo necesitaremos 2 estados, y muchas veces más de 2. Por ejemplo, para escribir 1111 estoy usando 256 estados del estándar ASCII**; a su vez cada símbolo ASCII se representa con un conjunto de 8 estados binarios, de modo que el 0 es el 0110000 y el 1 el 0110001. Así que cuando recibo tu información por internet, no recibo "1111", si no que recibo "0110001011000101100010110001", claro, que usar dos estados solamente es muy ineficiente para transmitir por un cable, así que para mandarlo por internet, la información pasará por un módem que la transformará una señal contínua (quizás con alguna modulación que codifica la señal en quizás 8 estados "modulación PSK"). Esta información acabará llegando a tu ordenador, en la que un navegador web decidirá que el 1 en ASCII ese se representa como una imagen de un palito y le mandará a la pantalla un conjunto de nosecuantos pixeles x nosecuantos pixeles cada uno con un byte para el rojo, el azul y el verde.
Resumiendo... que la representación de la información no necesariamente tiene que ver con el contenido.
Ahora bien, voy a hacer un poco de abogado del diablo ... digo de Davidmh, xD. El unario que hemos propuesto no sirve como si fuera un número escrito en una base habitual. En binario con 10 elementos, puedes representar 2^10 números, en unario, 1^10=1. Vamos a ver porqué: En binario 10 = 010 = 0010 = 000010, etc. Si seguimos la misma convención con "unario" 0=00=000=0000, con un solo elemento (esta vez lo he llamado 0, porque es más habitual en este tipo de bases), solo podría representar un elemento, el 0.
Pero es que el sistema de numeración que hemos descrito, no tiene que ver con un sistema tradicional en plan binario/octal/decimal/... eso sí, lo hemos llamado unario. ¿Se pueden representar números de otra manera distinta a la tradicional? Sí, por ejemplo, los números romanos, de hecho los primeros 3 números en unario son los mismos que los 3 primeros números en romano. El unario tiene fallos, obviamente, por ejemplo:
-no puedes representar el 0
-no puede representar números con decimales (si el número es racional, si que se podría representar a través de una fracción), cosa que si se puede hacer en binario.
Ahora volvamos a la pregunta original: Adama dijo que si se pueden usar solo dos símbolos, ¿para qué usar más? y andreito respondió que el podía usar un solo símbolo para contar.
Bien, desde mi punto de vista, unario usa un solo símbolo; sin embargo la pregunta no es demasiado formal.
Podríamos intentar llevar la pregunta al dominio de los lenguajes formales. Y decir que el alfabeto del unario es {1} y que los números unarios son 1{1}* . Y no habría mucho problema con la "ausencia de símbolo". También podríamos llevar esto al dominio de teoría de la información, y probablemente recibiera una respuesta más parecida a la tuya.
*: Una diferencia entre la ausencia de carácter y el 0 es que una vez tienes ausencia de carácter, se acaba el número, mientras que en binario, es vital que puedes intercalar el 0 a lo largo de todo el número
**: bueno, realmente será UTF-8, pero es más complicado
PD: Releyendo, se nota que he ido pensando las cosas según las he ido escribiendo. Supongo que podría haber borrado lo del comienzo y haber hecho un post más conciso, pero creo que la evolución de mi razonamiento también tiene cierto valor (ah, y que estoy vago, jeje). Ah, y perdón por lo de cabezota, David, pero es que creo que había intentado explicarme largo y tendido antes, pero por respuesta solo recibo un "la ausencia de símbolo también es un símbolo" (lo cual es discutible, en lenguajes formales, la ausencia de símbolo no es un símbolo, aunque se suele representar con # o & a la hora de entendernos)