Subido por arielf fernandez

Módulo 1 - Lectura 1

Anuncio
Sistemas de numeración
“Mars Climate Orbiter” (MCO) fue la misión a Marte que, hace un par de décadas,
hizo perder a la NASA millones de dólares en el espacio por un error que podía
evitarse. Los mecanismos de la sonda no presentaron defectos de fabricación ni
las condiciones del espacio exterior complicaron el viaje. El problema fue la
utilización de dos sistemas numéricos diferentes durante su desarrollo y la falta
de verificación de la conversión de millas a kilómetros en el software de
navegación.
De acuerdo con lo que menciona la agencia espacial, el objetivo del MCO era
servir como un canal de comunicación entre las sondas Mars Polar Lander y
Deep Space para estudiar la atmósfera del planeta rojo.
MCO fue lanzada el 11 de diciembre de 1998 desde la estación de Cabo
Cañaveral y la conexión con la sonda, que ya estaba cercana a Marte, se perdió
el 23 de septiembre de 1999.
¿Qué fue lo que sucedió entonces? El dispositivo desvió su trayectoria debido a
que una parte del software de navegación fue diseñada para hacer cálculos con
el sistema decimal y otra parte del sistema funcionaba con la medición inglesa.
El error se atribuye a tres instancias diferentes: los proveedores Jet Propulsion
Laboratory y Lockhead Martin Aeronautics, además de la propia NASA. De
acuerdo con lo que relata El País, Jet Propulsion Laboratory se encargó de
programar el sistema de navegación para viajar a distancias basadas en
kilómetros. Lockhead Martin Aeronautics, encargada de fabricar la sonda, diseñó
los mecanismos para calcular en pies y millas.
La NASA, por su parte, omitió verificar cómo funcionaba cada parte de la
navegación de la sonda y la envió al espacio. Durante el trayecto a Marte, MCO
registró varios errores de cálculo y terminó por desviarse de la zona objetivo de la
misión. La NASA rastreó el dispositivo y determinó que los restos se encontraban
a 57 km de altura sobre la superficie marciana, cuando en realidad se diseñó
para orbitar a 150 km de altura. Esto provocó que la sonda se quemara por la
fricción con la atmósfera.
La agencia perdió así cerca de 125 millones de dólares y dos años de
investigación que iba a durar la misión. Además, complicó las misiones de las
sondas Mars Polar Lander y Deep Space que debían interconectar. (Vilchis, 28 de
enero de 2020, https://www.vix.com/es/ciencia/223040/a-la-nasa-le-costomillones-y-una-sonda-no-saber-convertir-de-pies-ametros#:~:text=%22Mars%20Climate%20Orbiter%22%20(MCO,exterior%20no%20
complicaron%20el%20viaje).
Sistemas de numeración
Referencias
LECCIÓN 1 de 2
Sistemas de numeración
Presentación del caso
Como especialista en sistemas de información, te convocan de NASA para asegurar la compatibilidad y
coherencia entre los distintos sistemas numéricos utilizados por las computadoras de control de misión del
próximo vuelo a Marte.
Como este será tripulado, no sería aconsejable asumir la posibilidad de errores de conversión como los
mencionados en la introducción. Comenzaremos revisando algunos conceptos, que, muy probablemente, ya
han sido tratados en detalle en otras asignaturas, a los cuales estaremos haciendo referencia.
En nuestra vida cotidiana, estamos acostumbrados a utilizar un sistema de numeración decimal para
representar fechas, precios, edades, etcétera. Estamos tan acostumbrados a usarlo, que podríamos pensar
que es el único, pero no lo es. Las computadoras, de hecho, utilizan otros.
El sistema decimal está compuesto por 10 símbolos (0, 1, 2, 3, 4, 5, 6, 7, 8, 9); cada uno indica un valor
distinto. Para contar, este sistema comienza por el 0 y va sumando de a un dígito hasta llegar al 9. En ese
momento, al no haber más símbolos disponibles, se debe agregar una columna a la izquierda y reiniciar el
contador de la primera columna: el 10 indica que se incrementó en 1 la segunda columna y se puso en 0 la
primera. Cuando la segunda columna se quede sin símbolos, se sumará una tercera y así sucesivamente. El
sistema decimal es un sistema posicional que se basa en potencias de diez. De este modo, la primera
posición (unidades) se corresponde con 100, la segunda (decenas) con 101, la tercera (centenas) con 102 y
así sucesivamente.
A continuación, te presentamos un ejemplo.
Figura 1. Sistema decimal I
Fuente: [Imagen sin título sobre sistema decimal
https://antonioldc.wordpress.com/2018/01/07/binario/
I].
(s.
f.).
Recuperada
de
Como las computadoras no utilizan los dedos de la mano para contar, sino compuertas electrónicas cuya
salida puede ser “prendida” (1) o “apagada” (0), la cantidad de símbolos disponibles es 2. Este sistema de
numeración se denomina binario.
Figura 2. Sistema binario
Fuente:
Lopez
Díaz
del
Campo,
https://antonioldc.wordpress.com/2018/01/07/binario/
sf,
recuperado
de
El cero está representado por una sola columna con valor 0. El uno, con la misma columna, pero ahora con
valor 1. Al no existir más símbolos, se agrega una segunda columna para representar el dos y se pone en 0 la
primera: 10. Para contar hasta 3, se debe incrementar en uno la primera columna: 11.
Este sistema, como su nombre indica, se basa en potencias de dos. Por tanto, la primera posición se
corresponde con 20, la segunda con 21, la tercera con 22, etc. Y en cada una de estas posiciones habrá un
dígito, que puede tomar dos valores: 0, 1.
Figura 3. Sistema decimal II
Fuente: [Imagen sin título sobre sistema decimal
https://antonioldc.wordpress.com/2018/01/07/binario/
II].
(s.
f.).
Recuperada
de
¿Te sientes capaz de traducir el ejemplo del sistema decimal a binario y al revés? Deberías poder explicar el
cambio de bases en las potencias de cada sistema y realizar la operación inversa.
Te preguntarás para qué complicarse la vida con otros sistemas numéricos. La respuesta es simple, cada
sistema tiene sus ventajas y desventajas. Para un procesamiento analógico e intuitivo como el de nuestro
cerebro, un sistema decimal resulta casi “natural” y cómodo (dentro de nuestras limitaciones).
Para un procesamiento de información estructurado y “cableado”, un sistema binario parece la mejor forma
de convertir datos en estados de la materia o la energía (presencia/ausencia).
Pero el tema no se acaba allí. Dijimos que cada sistema tiene sus ventajas y desventajas.
Básicamente, la regla sería, a mayor complejidad del sistema, menos caracteres usaré para representar la
información, pero mayor cantidad de caracteres distintos tendré. Veamos por ejemplo los sistemas octal y
hexadecimal. El sistema octal utiliza 8 símbolos (desde el 0 hasta el 7), mientras que el hexadecimal utiliza
16 símbolos (del 0 al 9 y desde la A hasta la F).
Para ambos sistemas, la representación de números entre el 0 y el 7 es igual que en el sistema decimal ya
que utiliza los mismos símbolos, pero, en el caso del octal, para representar un 8 decimal se requieren dos
dígitos: “10”. El sistema hexadecimal permite “comprimir” la información, ya que utiliza menos dígitos que
otros sistemas para representar el mismo número.
Figura 4. Sistema hexadecimal
Fuente: [Imagen sin título sobre sistema hexadecimal].
https://antonioldc.wordpress.com/2018/01/07/binario/
(s.
f.).
Recuperada
de
Ahora fíjate cuál ha sido el consumo de recursos de procesamiento en cada sistema y su complejidad de
representación. El ejemplo de la figura 4 expresa un número decimal que tiene 6 posiciones (566770). Ese
mismo
número,
expresado
en
un
sistema
más
simple
(binario)
ocuparía
20
posiciones
(10001010010111110010), pero en un sistema más complejo que el binario y el decimal (hexadecimal) solo
ocupa 5 posiciones (8A5F2).
Codificación
Las computadoras utilizan un lenguaje diferente al de las personas para procesar la información. Para poder
transformar nuestro lenguaje al lenguaje de una computadora, se requiere una relación entre la información
a procesar y el sistema numérico que el computador utilice para realizar su procesamiento. Esta relación se
denomina codificación.
La codificación consiste en asignar una combinación binaria a cada carácter que se desea representar.
Como seguramente ya sabes, “bit” es un acrónimo de binary digit (dígito binario) y es la mínima unidad de
información que viaja y se almacena en un computador. Cada bit representa un estado eléctrico (1 o 0,
prendido o apagado). A mayor cantidad de bits, mayor cantidad de caracteres que se podrán representar. Por
ejemplo, un sistema de codificación de 1 bit, solo podrá representar dos caracteres: la letra “A” con un 0 y la
letra “B” con un 1.
¿Puedes leer la información que estos leds están mostrando? Asume un sistema binario y exprésalo en
decimal.
Figura 5. Sistemas binario y decimal
Fuente: [Imagen sin título sobre sistemas binario y decimal]. (s. f.). Recuperada de
https://antonioldc.wordpress.com /2018/01/07/binario/
Seguramente, también estás familiarizado con el término byte, el cual es un acrónimo de binary term
(término binario), o sea un grupo de 8 bits que el ordenador utiliza para representar cada símbolo o carácter
que conocemos, es decir un número, una letra, un signo de puntuación, etc.
Como el sistema numérico es binario (o sea representa potencias de base 2) y tiene 8 posiciones, entonces
con un byte el ordenador puede representar 28=256 símbolos o caracteres diferentes. Vuelve al ejemplo de
la figura 4, ¿cuántos bytes necesitarás para representar el 566770? Si codificas cada carácter decimal a
través de 1 byte, entonces necesitarás 6 bytes para representar este número. Pero si el mismo número está
en hexadecimal, solo necesitarás 4.
Representaciones alfanuméricas
Pero no solo codificamos un sistema de números en otro. Para una transmisión o procesamiento de datos,
se necesita poder codificar otros elementos. Por eso el nombre genérico de “caracteres alfanuméricos”, que
pueden ser letras, números, símbolos u otros caracteres que sirven para poder tener control sobre la
transmisión o el procesamiento de los datos.
Un ejemplo es el código ASCII (American Standard Code for Information Interchange), que utiliza 7 bits, por
lo que la cantidad de caracteres máxima es 27 = 128. Este número limita la cantidad de letras y números que
pueden codificarse: letras mayúsculas y minúsculas del alfabeto inglés, números decimales del 0 al 9,
algunos símbolos y 33 caracteres de control.
Para poder codificar un número mayor de caracteres, se implementó el denominado ASCII extendido, el cual
agrega 1 bit a los 7 de ASCII. El total de 8 bits permite 256 caracteres.
Actualmente, el código más usado es el Unicode, que es una tabla que asigna un código de 32 bits (o sea
232) a cada uno de los más de 50.000 mil símbolos que abarcan todos los alfabetos: europeos, ideogramas
chinos, japoneses, coreanos, muchas otras formas de escritura y más de un millar de símbolos locales. El
Unicode tiene 3 variantes de formatos de transformación, UTF-8, UTF-16 y UTF-32.
Figura 6. Código Unicode
Fuente: [Imagen sin título sobre código Unicode]. (s. f.). Recuperada
https://www.slideshare.net/edisoncoimbra/1introduccin-a-las-redes-de-computadoras
de
Representaciones decimales
Como habrás visto más arriba en los ejemplos, para poder codificar los números decimales, usar 1 bit no
alcanza (solo representa 0 y 1) y usar un byte sobra (se puede representar del 0 al 9 con 4 bits, del 0000 al
1001). El medio byte es una medida un poco menos conocida de tratamiento de la información y las
comunicaciones (se la llama nibble), pero es ampliamente usada en la codificación justamente porque los
decimales se adecúan a este tamaño de “palabra” binaria.
Existen sistemas que codifican números decimales en bloques de 4 bits. Estos son códigos de
representación de números y se los denomina códigos ponderados, porque adjudican cierto peso a los 1
binarios, según la posición que ocupan en el bloque. Un ejemplo es el código decimal codificado a binario
(BCD) con sus diferentes variantes:
BCD puro o natural (8421): los pesos de cada bloque coinciden con los pesos en binario. 8 para
el bit de mayor peso, 4 para el segundo, 2 para el tercero y 1 para el bit con menor peso.
BCD exceso tres: a partir del BCD puro, debe sumarse un 3 binario a cada cifra.
BCD Aiken (2421). El nombre indica los pesos que se asignan.
Veamos un ejemplo:
El número decimal 15 se representa con un byte en binario puro como “00001111”. En cambio, utilizando
BCD 8421, su byte codificado es “00010101”, pues procede de la siguiente conversión.
Figura 7. Conversión BCD
Fuente: elaboración propia.
Si hacemos la conversión utilizando BCD exceso 3, entonces el decimal 15 se codificará como “01001000”.
Figura 8. Conversión BCD
Fuente: elaboración propia.
Por último, si convertimos usando BCD 2421, es similar al 8421 pero con distinto peso en el valor del bit más
significativo. Sin embargo, hay que tener precaución porque si bien del 0 al 4 los códigos son los mismos
que el binario puro o el BCD 8421, a partir del 5 lo que hacemos es invertir el complemento a 9 de ese
número. Es decir, en el caso del 5, su complemento a 9 es = 4, por lo tanto, si 4 es “0100” entonces el 5 será
“1011”. Esta conversión me dará para el decimal 15 un valor de “00011011”.
Figura 9. Conversión BCD
Fuente: elaboración propia.
El motivo para estas conversiones de sistemas es simplificar las operaciones matemáticas entre números
(sobre todo binarios) que son la base del procesamiento digital.
C O NT I NU A R
LECCIÓN 2 de 2
Referencias
Vilchis, A. (28 de enero de 2020). A NASA le costó millones (y una sonda) no saber convertir de pies a
metros. VIX. Recuperado de https://www.vix.com/es/ciencia/223040/a-la-nasa-le-costo-millones-y-unasonda-no-saber-convertir-de-pies-a-metros#:~:text=%22Mars%20
Climate%20Orbiter%22%20(MCO,exterior%20no%20complicaron%20el%20viaje
[Imagen sin título sobre sistemas binario y decimal]. (s. f.). Recuperada de https://antonio
ldc.wordpress.com/2018/01/07/binario/
[Imagen
sin
título
sobre
sistema
decimal
I].
(s.
f.).
Recuperada
de
https://antonio
decimal
II].
(s.
f.).
Recuperada
de
https://antonio
hexadecimal].
(s.
f.).
Recuperada
de
https://antonio
ldc.wordpress.com/2018/01/07/binario/
[Imagen
sin
título
sobre
sistema
ldc.wordpress.com/2018/01/07/binario/
[Imagen
sin
título
sobre
sistema
ldc.wordpress.com/2018/01/07/binario/
[Imagen
sin
título
sobre
código
Unicode].
(s.
f.).
net/edisoncoimbra/1introduccin-a-las-redes-de-computadoras
C O NT I NU A R
Recuperada
de
https://www.slideshare.
Descargar