Tema 2 - Sistema de numeración PDF
Document Details
Uploaded by DextrousStream
Tags
Summary
This document provides an overview of numbering systems, focusing on binary and hexadecimal systems. It details the conversion between decimal, binary, and hexadecimal representations, and explains the characteristics of positional and non-positional numeral systems.
Full Transcript
Grado en Inteligencia Artificial - 1er Curso Informática Noelia García Hervella [email protected] Guillermo Blanco González [email protected] Números y computación Los números son cruciales para la informática. Además de utilizar un ordenador para ejecutar cálculos...
Grado en Inteligencia Artificial - 1er Curso Informática Noelia García Hervella [email protected] Guillermo Blanco González [email protected] Números y computación Los números son cruciales para la informática. Además de utilizar un ordenador para ejecutar cálculos numéricos, todo tipo de información que almacenamos y gestionamos utilizando un ordenador se almacenan en última instancia con números: En el nivel más bajo, los ordenadores almacenan toda la información utilizando solo los dígitos 0 y 1 Números y computación Un número es una representación de un valor, y ciertas operaciones aritméticas pueden ser aplicadas a dichos valores. Número natural: es el número 0 o cualquier número obtenido sumando repetidamente 1 a ese número. Son los que utilizamos para contar. Número negativo: menor que cero y tiene el signo contrario al de un número positivo. Número entero: cualquiera de los números naturales o cualquiera de los negativos de estos números. Número racional: número entero o el cociente de dos números enteros, es decir, cualquier valor que pueda expresarse como una fracción. Números y computación En este caso nos vamos a centrar en los números naturales y en las formas en que pueden ser representados en varios sistemas numéricos. Valores binarios y ordenadores Los ordenadores actualmente son máquinas binarias, aunque en un pasado eran máquinas decimales. Por ello: Toda la información se representa de alguna manera utilizando valores binarios. Esto se debe a que la ubicación de almacenamiento dentro de un ordenador contiene una señal de bajo voltaje o una señal de alto voltaje. Debido a que solo existen dos estados, por lo tanto, es lógico equipararlos a 0 y 1. Valores binarios y ordenadores Una señal de bajo voltaje se equipara con un 0. Una señal de alto voltaje se equipara con un 1. Podemos olvidarnos de los voltajes y pensar que cada lugar de almacenamiento contiene un 0 o un 1. Valores binarios y ordenadores Cada unidad de almacenamiento se llama dígito binario o bit. Los bits se agrupan en bytes (8 bits). Los bytes se agrupan en unidades llamadas palabras (cadenas) El número de bits de una palabra se conoce como la longitud de la palabra del Por ejemplo, la arquitectura IBM 370 a finales de ordenador. 1970 tenía medias palabras (2 bytes o 16 bits), Los ordenadores modernos suelen ser palabras completas (4 bytes) y palabras dobles (8 máquinas de 32 o 64 bits. bytes) Introducción a los sistemas de numeración Un sistema de numeración es un conjunto de reglas y símbolos que se utiliza para representar cantidades de manera simbólica. Este sistema define cómo los números se escriben y organizan, permitiendo expresar diferentes valores de acuerdo con un conjunto estructurado de convenciones. Los números en un sistema de numeración se forman a partir de una combinación de símbolos específicos, siguiendo las reglas establecidas por dicho sistema. Un sistema de numeración puede clasificarse en distintos tipos, siendo los más comunes el sistema posicional y el sistema no posicional. En los sistemas posicionales, el valor de un dígito depende tanto de su propio valor como de su posición dentro del número. Por otro lado, en los sistemas no posicionales, el valor de los símbolos es constante, independientemente de su ubicación en la secuencia. Sistema de numeración no posicional Un sistema de numeración no posicional es aquel en el que el valor de cada símbolo o dígito es fijo y no depende de su posición dentro del número. Los símbolos utilizados tienen un valor constante y no se multiplican por potencias de ninguna base, lo que hace que estos sistemas no sean tan eficientes para representar grandes cantidades como los sistemas posicionales. Características clave: ○ Valor fijo: Cada símbolo tiene un valor que no cambia sin importar dónde se encuentre en la secuencia numérica. ○ Menor eficiencia: Representar números grandes puede volverse más complicado y extenso, porque no existe un concepto de multiplicación por potencias. ○ Combinación de símbolos: En estos sistemas, a menudo se usan combinaciones de símbolos para representar cantidades más grandes. Sistema de numeración no posicional Ejemplo: En el sistema romano, el número XIV representa 14, pero el valor de X (10), I (1), y V (5) no depende de su posición, sino de las reglas de combinación de símbolos. No hay multiplicación por potencias en este caso. Sistema de numeración posicional Un sistema de numeración posicional es aquel en el que el valor de cada dígito depende tanto de su valor propio como de su posición dentro del número. En estos sistemas, la cantidad se representa a través de una combinación de símbolos, y el valor posicional de cada símbolo está determinado por la base del sistema. Características clave: ○ Base o radix: Es el número de símbolos diferentes que utiliza el sistema (por ejemplo, en el sistema decimal la base es 10 porque usa los dígitos del 0 al 9). ○ Valor posicional: El valor de un dígito aumenta conforme está más a la izquierda, ya que cada posición representa una potencia de la base. ○ Eficiencia: Los sistemas posicionales permiten representar grandes cantidades con un número reducido de símbolos, lo que facilita el cálculo y la representación. ○ Uso de potencias: Cada dígito se multiplica por la base elevada a la potencia correspondiente a su posición (comenzando por 0 desde la derecha). Sistema de numeración posicional Binario (b=2): lo utilizan los sistemas digitales Decimal (b=10): lo utilizamos las personas Octal (b=8) y hexadecimal (b=16): lo utilizamos las personas para representar cantidades cuya representación en el sistema binario requiere el uso de muchos dígitos. La utilización de estos sistemas de numeración se debe a la facilidad de conversión entre el sistema binario y estos sistemas. Sistemas de numeración posicional 2010 = 1416 = 248 = 1104 = 2023 = 101002 Nota: un sistema de numeración se utiliza para representar de forma simbólica el módulo, la magnitud o el valor absoluto de cantidades (la forma de indicar si una cantidad es positiva o negativa es una cuestión aparte. Sistemas de numeración posicional Método de representación de números en el que el valor de un dígito depende de su posición en la secuencia numérica. Una cantidad se representa mediante una sucesión ordenada de símbolos (dígitos o cifras) situados a la izquierda y derecha de una coma (o punto) de referencia. Ejemplo: 47,52510 Parte fraccionaria Parte entera Sistemas de numeración posicional La base de un sistema numérico especifica el número de dígitos utilizados en el sistema. ○ Los dígitos siempre comienzan con 0 y continúan hasta uno menos que la base. ○ Por ejemplo, hay 2 dígitos en base 2: 0 y 1. ○ Hay 8 dígitos en base 8: del 0 al 7. ○ En base 10 hay 10 dígitos: del 0 al 9. La base también determina el significado de las posiciones de los dígitos. ○ Cuando se suma 1 al último dígito del sistema numérico, se tiene un acarreo al dígito a la izquierda. Sistemas de numeración posicional Los números se escriben utilizando la notación posicional. ○ El dígito de la derecha representa su valor multiplicado por la base a la potencia cero. ○ El dígito a la izquierda representa su valor multiplicado por la base a la primera potencia. ○ El siguiente dígito representa su valor multiplicado por la base a la segunda potencia. ○ El siguiente dígito representa su valor multiplicado por la base a la tercera potencia, y así sucesivamente. Sistemas de numeración posicional En un número, cada dígito tiene asociado un peso cuyo valor depende de la base (b) y de la posición que ocupe el dígito en el número. Si consideramos un número con n dígitos en la parte entera y m dígitos en la parte fraccionaria, las posiciones y los pesos asociados a cada uno de los dígitos guardan la siguiente relación: Pesos: bn-1 bn-2... b1 b0, b-1 b-2... b-(m-1) b-m Número (base= b): an-1 an-2... a1 a0, a-1 a-2... a-(m-1) a-m Posiciones: n-1 n-2 1 2 -1 -2 -m(m-1) -m parte entera parte fraccionaria Sistemas de numeración posicional Pesos: 102 101 100 , 10-1 10-2 10-3 Número (base= 10): 4 7 1, 5 2 9 Posiciones: 2 1 0 -1 -2 -3 Pesos: 23 22 21 20 , 2-1 2-2 2-3 Número (base= 2): 1 0 1 1, 0 1 1 Posiciones: 3 2 1 0 -1 -2 -3 Sistemas de numeración posicional En un sistema de numeración de base b (b>1) se pueden utilizar hasta b símbolos distintos para representar cualquier cantidad. La base de un sistema de numeración también se denomina raíz o módulo Sistema de numeración Símbolos utilizados binario (b=”) 0,1 ternario (b=3) 0,1,2 cuaternario(b=4) 0,1,2,3 octal (b=8) 0,1,2,3,4,5,6,7 decimal (b=10) 0,1,2,3,4,5,6,7,8,9 hexadecimal (b=16) 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F Sistemas de numeración posicional binario ternario cuaternario octal decimal hexadecimal 0 0 0 0 0 0 1 1 1 1 1 1 10 2 2 2 2 2 11 10 3 3 3 3 100 11 10 4 4 4 101 12 11 5 5 5 110 20 12 6 6 6 111 21 13 7 7 7 1000 22 20 10 8 8 1001 100 21 11 9 9 1010 101 22 12 10 A 1011 102 23 13 11 B 1100 110 30 14 12 C 1101 111 31 15 13 D 1110 112 32 16 14 E Polígono equivalente Es una forma algebraica que representa cualquier número en un sistema de numeración posicional como la suma de los productos de los dígitos por las potencias correspondientes de la base. Este polinomio describe cómo se descompone un número en términos de las potencias de la base del sistema. Cada número en un sistema posicional se puede expresar como un polinomio en donde cada término está compuesto por el valor de un dígito multiplicado por la base elevada a una potencia (que depende de la posición del dígito en el número). Polígono equivalente La cantidad representada por un número es igual a la suma ponderada de todos los dígitos que lo forman. Cumpliéndose que la cantidad que representa un número N en un sistema de numeración en base b: Nb: an-1 an-2... a1 a0, a-1 a-2... a-(m-1) a-m está determinada por el siguiente polinomio equivalente: ∑ aibi= an-1bn-1 +... + a1b1 + a0b0 + a-1b-1 + a-2b-2 +... + Nb: i=n-1 a-mb-m i=-m si las operaciones indicadas en el polinomio equivalente se realizan en un sistema de numeración de base b’, el resultado que se obtiene es un número que representa en el sistema de numeración de base b’ la misma cantidad que el número Nb. Ejemplo polígono equivalente: 10112=12*(102)112 + 02*(102)102 + 12*(102)12 + 12*(102)02 87 =8*101+7*100=8*10+7= 80+7 10 Polígono equivalente Si las operaciones indicadas en el polinomio equivalente de un número Nb se realizan en un sistema de base b1 (b1!=b), entonces lo que se obtiene en la representación equivalente de dicho número en el sistema de base b1 10112=12*(102)112 + 02*(102)102 + 12*(102)12 + 12*(102)02 = 110*(210)310 + 010*(210)210 + 110*(210)110 + 110*(210)010 = 110*810 + 010* 410 + 110* 210 + 110* 110 = 810 + 010 + 210 + 110 = 1110 Polígono equivalente Del polinomio equivalente de un número se deduce que la mayor cantidad que se puede representar en un sistema de numeración de base b, utilizando n dígitos, es igual a: bn - 1 Sistema binario Fue introducido por Leibniz en el siglo XVII: Su base es 2 y, por lo tanto, en este sistema de numeración solo se utilizan combinaciones de sus símbolos distintos (1 y 0) para representar cualquier cantidad. Es el sistema de numeración en el que operan todos los sistemas digitales. Los motivos de que esto sea así son tanto tecnológicos como económicos. Conversión de decimal a binario Método 1: Para determinar la representación de la parte entera se realizan divisiones por 2 de forma sucesiva, hasta obtener un cociente inferior a 2. La solución está formada por los restos de las divisiones, leídos en orden inverso al que se genera. Ejemplo: 90 = 10110102 Conversión de decimal a binario Método 2: más rápido para cantidades pequeñas. Hay que determinar las potencias enteras que sumar para obtener la cantidad indicada en base 10. 64 32 16 8 4 2 1 → pesos(potencias enteras de 2) Ejemplo: 90 = 1 0 1 1 0 1 02 (64+16+8+2) Conversión de decimal a binario Se utiliza el polinomio característico que equivale a sumar los pesos de los dígitos que valen 1 en el número binario. 64 32 16 8 4 2 1 Ejemplo: 1 0 1 1 0 1 02 = 1*26+ 0*25 + 1*24 + 1*23 + 0*22 + 1*21 + 0*20 = 9010 Suma en binario Los fundamentos de la aritmética en cualquier sistema de numeración de base b se basan en el conocimiento de reglas que rigen las operaciones de suma y de multiplicación de 2 dígitos. A continuación se muestran ejemplos sobre la suma de números binarios. 0 0 0 1 x x x a2 x x x 02 x x x 12 x x x 02 x x x 12 x x x b2 x x x 02 x x x 02 x x x 12 x x x 12 x x x c2 x x x 02 x x x 12 x x x 12 x x x 02 Inconvenientes del sistema binario El hecho de que la base del sistema binario tenga un valor tan pequeño hace que en general la representación de una cantidad en este sistema requiera de muchos dígitos. A las personas les resulta difícil leer y escribir números en binario que tengan muchos dígitos sin equivocarnos. La solución que se encontró consiste en utilizar sistemas de numeración caracterizados por: Tener una base mucho mayor, de manera que la representación de una cantidad, en general, requerirá muchos menos dígitos que en el sistema binario. La base de dichos sistemas debe ser una potencia entera de la base del sistema binario. Se puede demostrar que el proceso de conversión entre los sistemas de numeración que se cumple esta propiedad y el sistema binario es muy sencillo. De los sistemas de numeración que cumplen las condiciones anteriores, en su momento se eligieron los sistemas: Octal: b = 8 = 23 (apenas se usa hoy en día) Hexadecimal: b = 16 = 24 (utilizado en programación de hardware) Sistema hexadecimal Es el sistema de numeración de base b = 16 y, por lo tanto, se pueden utilizar hasta 16 símbolos distintos para representar cualquier cantidad. En general, el número de dígitos que tiene la representación de una cantidad en el sistema hexadecimal es 4 veces menor que el número de dígitos que tiene la representación de la misma cantidad en el sistema binario. Ejemplo: 10101111001101002= AF3416 En la literatura técnica se pueden ver diferentes formas de indicar que una cantidad está representada en el sistema hexadecimal. Ejemplo: 4A16 = 0x4A = 4AH = 4Ah Conversión de binario a hexadecimal En el número binario se hacen grupos de 4 dígitos empezando por la derecha y se sustituye cada uno por un símbolo (valor) hexadecimal equivalente. Ejemplo: 11 1000 1111 0111 00002 =38F7016 3 8 F 7 0 Conversión de hexadecimal a binario Cada dígito del número hexadecimal se sustituye por el número binario de 4 dígitos que representa el mismo valor (cantidad). Ejemplo: 38F7016 = 0011 1000 1111 0111 00002 3 8 F 7 0 Grado en Inteligencia Artificial - 1er Curso Informática Noelia García Hervella [email protected] Guillermo Blanco González [email protected]