-
Notifications
You must be signed in to change notification settings - Fork 0
Sistemas Numericos
- Importancia de los Sistemas Numéricos
- Qué es un Sistema Numérico
- Sistema Decimal
- Sistema Binario
- Sistema Octal
- Sistema Hexadecimal
- Notaciones de los Sistemas Numéricos en Informática
- Recursos Recomendados
- Referencias
Si bien en Linux no es esencial aprender sobre los sistemas numéricos, considero importante aprender sobre ellos al momento de trabajar con archivos o texto, especialmente en programación.
Cabe destacar que incluyo este documento para posteriormente hablar acerca de la codificación de caracteres.
Un sistema numérico es un conjunto de símbolos y reglas que se utilizan para representar cantidades numéricas.
-
Base: cantidad de unidades o símbolos con los que se cuenta para formar un dígito
-
Numerales: conjunto de símbolos con los que se representan los números
-
Normas de combinación: conjunto de reglas para formar números. A cada cifra se le asocian dos propiedades:
- Valor intrínseco absoluto: valor del dígito sin importar su posición
- Valor posicional o relativo: valor del dígito dependiendo su posición
Para conocer el valor relativo de un número, podemos aplicar la siguiente fórmula a cada dígito:
donde:
-
$A$ es el valor absoluto -
$B$ es la base del sistema numérico -
$P$ es la posición (empezando desde 0 de derecha a izquierda)
Cuando estamos trabajando con diferentes sistemas numéricos, es posible que dos
cantidades diferentes se expresen de la misma manera en algunos sistemas
numéricos. Para evitar confusiones se puede añadir la base (
El sistema decimal, o base 10 es aquel con el que estamos familiarizados. Se encuentra conformado por los 10 dígitos (o símbolos) 0, 1, 2, 3, 4, 5, 6, 7, 8, y 9.
Note
Aplicando la fórmula del valor relativo en el número
El sistema binario, o base 2 es aquel con el que las computadoras trabajan. Se encuentra conformado por los 2 dígitos (o símbolos) 0 y 1.
En la computación, el 0 representa la ausencia de corriente y el 1 el paso de corriente.
Con estos dos estados es posible codificar cualquier cosa: colores, sonidos, texto, imágenes, vídeos, etc., por ejemplo:
- Un color RGB tal como (73, 16, 119) su equivalente en binario (número con el
que trabaja el ordenador) sería
01001001 00010000 01110111.
Note
Nótese que para el ejemplo anterior cada componente RGB se representa con exactamente 8 bits (1 byte), permitiendo valores de 0 a 255. Esto es fundamental porque las computadoras trabajan con bytes como unidad básica de información.
Note
Aplicando la fórmula del valor relativo en el número
El sistema octal, o base 8 es aquel que utilizamos en computación e informática para representar, de una forma más legible, números grandes. Se encuentra conformado por los 8 dígitos (o símbolos) 0, 1, 2, 3, 4, 5, 6, y 7.
Note
El sistema octal no es muy utilizado en la informática y computación
moderna, en su lugar, es más común el sistema hexadecimal. Sin embargo, es
importante en Linux para representar permisos de archivos (e.g., chmod 755).
Note
Aplicando la fórmula del valor relativo en el número
El sistema hexadecimal, o base 16 es aquel que utilizamos en computación e informática para representar, de una forma más legible, números enormes. Se encuentra conformado por los 16 símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A (10), B (11), C (12), D (13), E (14), y F (15).
Note
Los números hexadecimales pueden ser escritos con mayúsculas o minúsculas. En este documento utilizaremos los ejemplos con mayúsculas.
Este sistema es ampliamente utilizado para representar direcciones de memoria, códigos de color, y valores en debugging.
Note
Aplicando la fórmula del valor relativo en el número
A continuación veremos la notación utilizada en informática de los números decimales, binarios, octales y hexadecimales.
Por lo general, en informática, un número decimal viene implícito, es decir, no es necesario una notación especial para definirlo. Sin embargo, existen ciertas notaciones en algunos lenguajes de ensamblador (e.g., NASM) para definir explícitamente un número decimal tales como:
-
Sufijo d: decimal explícito. Por ejemplo:
0200d -
Prefijo 0d: decimal explícito. Por ejemplo:
0d200
En informática podemos encontrar diferentes notaciones para los números binarios, tales como:
-
Prefijo 0b, y 0B: utilizados en lenguajes de programación. Por ejemplo:
0b1001 0B1001 -
Sufijo b, y B: utilizados en lenguajes de ensamblador. Por ejemplo:
1001b 1001B
En algunos lenguajes de ensamblador (e.g., NASM) podemos encontrar notaciones adicionales, tales como:
-
Sufijo y: alternativa al sufijo b. Por ejemplo:
1001y -
Prefijo 0y: alternativa al prefijo 0b. Por ejemplo:
0y1001
En informática podemos encontrar diferentes notaciones para los números octales, tales como:
-
Prefijo 0: notación tradicional de C (cero seguido del número). Por ejemplo:
0755 0644 -
Prefijo 0o: notación explícita moderna. Por ejemplo:
0o755 0o644
Warning
Ten cuidado con la notación de cero inicial: 010 no es igual a 10 en
muchos lenguajes de programación. Preferentemente utiliza otra notación para
evitar ambigüedades.
En algunos lenguajes de ensamblador (e.g., NASM) podemos encontrar notaciones adicionales, tales como:
-
Sufijo q: alternativa al sufijo o. Por ejemplo:
310q -
Prefijo 0q: alternativa al prefijo 0o. Por ejemplo:
0q310
En informática podemos encontrar diferentes notaciones para los números hexadecimales, tales como:
-
Prefijo 0x, y 0X: utilizados en lenguajes de programación. Por ejemplo:
0xA2FF 0XA2FF -
Sufijo h, y H: utilizados en lenguajes de ensamblador. Por ejemplo:
A2FFh A2FFH
En algunos lenguajes de ensamblador (e.g., NASM) podemos encontrar notaciones adicionales, tales como:
-
Prefijo 0h: hexadecimal explícito. Por ejemplo:
0hC8 -
Prefijo $: utilizado en algunos lenguajes de ensamblador. Por ejemplo:
$A2FF
- Nate Gentile - Sistema binario y puertas lógicas
- GeeksforGeeks - Literals in C
- Rust Book - Integer Types
- NASM - 3.4.1 Numeric Constants
-
Ohnsonbaugh, R. (2005). 5.2 Representaciones de enteros y algoritmos enteros. Matemáticas Discretas (6ta edición). Editorial Pearson.
-
hiru.eus (s.f.). Sistemas De Numeración Recuperado el 03 de junio de 2024 de https://www.hiru.eus/es/matematicas/sistemas-de-numeracion
-
Ok diario (agosto 29, 2023). Qué es el sistema hexadecimal, para qué sirve y ejemplos. Recuperado el 03 de junio de 2024 de https://okdiario.com/curiosidades/como-funciona-sistema-hexadecimal-3556445
-
nzaratep (febrero 21, 2023). Sistema Octal. Recuperado el 03 de junio de 2024 de https://niixer.com/index.php/2023/02/21/sistema-numerico-octal/
-
NASM (s.f.). NASM - The Netwide Assembler. Chapter 3: The NASM Language. https://www.nasm.us/xdoc/2.16.03/html/nasmdoc3.html#section-3.4.1
- Definición y Estructura de un Shell
- Los Diferentes Tipos de Shell
- Definición y Sintaxis de un Comando
- Variables, Alias y Funciones
- Comandos de Utilidad y Consulta
- Linux como Sistema Multiusuario
- Introducción a los Usuarios y Grupos
- Gestión de Usuarios
- Gestión de Grupos
- Gestión de Contraseñas
- Búsqueda de Información de Usuarios y Grupos con
getent
- Atributos de Archivos: Propiedad y Permisos de los Archivos
- Cambio de Propiedad y Permisos
umask: Permisos Predeterminados de Archivos- Cambio de Identidad y Privilegios
- Gestión de Paquetes (Package Management)
- Compresión y Archivado de Archivos
- Optimización y Conversion de Archivos
