La importancia del sistema decimal radica en que se utiliza universalmente para representar cantidades fuera de un sistema digital. Es decir que habrá situaciones en las cuales los valores decimales tengan que convenirse en valores binarios antes de que se introduzcan en sistema digital. Entonces habrá situaciones en que los valores binarios de las salidas de un circuito digital tengan que convertir a valores decimales para presentarse al mundo exterior.
Por otro lado del binario y el decimal, otros dos sistemas de numeración encuentran amplias aplicaciones en los sistemas digitales. Los sistemas octal (base 8) y hexadecimal (base 16) se usan con el mismo fin, que es ofrecer un eficaz medio de representación de números binarios grandes. Como veremos, ambos sistemas numéricos tienen la ventaja de que pueden convenirse fácilmente al y del binario.
Tabla Comparativa
binario decimal hexa binario decimal hexa
0000 0 0 1000 8 8
0001 1 1 1001 9 9
0010 2 2 1010 10 A
0011 3 3 1011 11 B
0100 4 4 1100 12 C
0101 5 5 1101 13 D
0110 6 6 1110 14 E
0111 7 7 1111 15 F
2. Sistema de numeración binario
Conversión de binario a decimal.- El sistema de numeración binario u un sistema de posición donde cada dígito binario (bit) tiene un valor basado en su posición relativa al LSB. Cualquier número binario puede convenirse a su equivalente decimal, simplemente sumando en el número binario las diversas posiciones que contenga un 1. Por ejemplo:
1 1 1 0 1 12 de binario a decimal
1 x 25 + 1 x 24 + 1 x 23 + 0 x 22 + 1 x 2 + 1 = 6910
Conversión de decimal a binario.- Existen dos maneras de convenir un número decimal entero a su representación equivalente en el sistema binario. El primer método es inverso al proceso descrito anteriormente. El número decimal se expresa simplemente como una suma de potencias de 2 y luego los unos y los ceros se escriben en las posiciones adecuadas de los bits. Por ejemplo:
1 7 4 2
0 8 7 2
1 43 2
1 21 2
1 10 2
0 5 2
1 2 2
0 1
45 = 32 + 8 + 4 + l = 25 + 0 + 23 +2 2 + 0 + 20
entonces es igual a 1 0 1 1 0 12
Pasar a decimal el binario 101011102
1 0 1 0 1 1 1 0
0 * 20 = 0
1 * 21 = 2
1 * 22 = 4
1 * 23 = 8
0 * 24 = 0
1 * 25 = 32
0 * 26 = 0
1 * 27 = 128
174
101011102 = 17410
El segundo método consiste dividir repetidas veces el número entre dos hasta que su cociente sea menor que él. Por ejemplo:
con residuo 0
con residuo 1
con residuo 0
con residuo 0
con residuo 0
con residuo 0
con residuo 0
con residuo 1
Entonces el número se forma tomando los residuos pero en forma inversa, es decir el primer digito será el último residuo y así sucesivamente. El número quedaría como sigue:
1 0 0 0 0 0 1 02
3. Operaciones Binarias
En lo que sigue se adopta como convención la lógica positiva, lo que implica:
verdadero = 1 = activo, ------, falso = 0 = inactivo
Hay cinco operaciones binarias básicas: AND, OR, NOT, XOR y ADD. La resta, multiplicación y división se derivan de estas cinco anteriores. Cualquiera sea la longitud de la palabra o palabras objeto de la operación, siempre se hace de a un bit por vez de derecha a izquierda (tal como si fuera una suma o resta con números decimales). Esto permite una definición de cada operación que es independiente de la longitud del o de los operando(s). La operación NOT es la única que se realiza sobre un sólo operando (es unaria), y las otras cuatro sobre dos operandos.
• La operación AND (Y) tiene resultado 1 si sus dos operandos son ambos 1
• La operación OR (O) tiene resultado 1 si cualquiera de sus operandos es 1
• La operación XOR tiene resultado 1 si los operandos son distintos (uno en 0 y el otro en 1)
• La operación NOT (NO) tiene resultado 1 si el operando es 0 y viceversa
• La operación ADD (SUMA) se define igual que con los números decimales
AND OR XOR NOT SUMA
0 * 0 = 0 0 + 0 = 0 0 X 0 = 0 NOT 1 = 0 0 + 0 = 0
0 * 1 = 0 0 + 1 = 1 0 X 1 = 1 NOT 0 = 1 0 + 1 = 1
1 * 0 = 0 1 + 0 = 1 1 X 0 = 1 --- 1 + 0 = 1
1 * 1 = 1 1 + 1 = 1 1 X 1 = 0 --- 1 + 1 = 10
División
Reglas de la división binaria: 0/0 no permitida, 1/0 no permitida,0/1=0, 1/1=1
Ejemplos De Suma
1 1 1 1 1 Acarreo
1 1 0 0 1 25
+ 1 0 1 0 1 1 + 43
1 0 0 0 1 0 0 68
1 1 Acarreo
1 1 0. 1 0 6,50
+ 1 1 0 1. 0 1 + 13.25
1 0 0 1 1. 1 1 19.75
1 1 0 0 1 25
* 1 0 0 1 1 * 19
1 1 0 0 1
1 1 0 0 1
1 1 0 0 1 0 0
1 1 1 0 1 1 0 1 1 475
Es lo que hacemos en la suma decimal 5+5=10 (nos llevamos "1" para la operación del dígito siguiente). Este llevarse "1" es vastamente usado entre losprocesadores digitales y tiene un nombre especial: carry (lo verá abreviado como CY, C o CF-por carry flag), lo que en castellano se traduce como "acarreo" (que suena muy mal, asi que le seguiremos llamando carry). Estas operaciones también se llaman "booleanas" ya que se basan en el álgebra de Boole (invito al lector a rememorar cuando en la escuela secundaria se preguntaba, igual que yo, si el álgebra de Boole le serviría alguna vez para algo).
En un ordenador el sistema de numeración es binario -en base 2, utilizando el 0 y el 1- hecho propiciado por ser precisamente dos los estados estables en los dispositivos digitales que componen una computadora.
Para sumar números, tanto en base 2 como hexadecimal, se sigue el mismo proceso que en base 10:
Podemos observar que la suma se desa-
1010 1010b rrolla de la forma tradicional; es decir:
+ 0011 1100b sumamos normalmente, salvo en el caso de
-------------- 1 + 1 = 102 , en cuyo caso tenemos un aca-
1110 0110b rreo de 1 (lo que nos llevamos).
Complemento a dos.
En general, se define como valor negativo de un número el que necesitamos sumarlo para obtener 00h, por ejemplo:
FFh Como en un byte solo tenemos dos nibbles, es
+ 01h decir, dos dígitos hexadecimales, el resultado es
------ 0 (observar cómo el 1 más significativo subrayado
100h es ignorado). Luego FFh=-1. Normalmente, el bit 7
se considera como de signo y, si está activo (a 1)
el número es negativo.
Por esta razón, el número 80h, cuyo complemento a dos es él mismo, se considera negativo (-128) y el número 00h, positivo. En general, para hallar el complemento a dos de un número cualquiera basta con calcular primero su complemento a uno, que consiste en cambiar los unos por ceros y los ceros por unos en su notación binaria; a continuación se le suma una unidad para calcular el complemento a dos. Con una calculadora, la operación es más sencilla: el complemento a dos de un número A de n bits es 2n-A.
Otro factor a considerar es cuando se pasa de operar con un número de cierto tamaño (ej., 8 bits) a otro mayor (pongamos de 16 bits). Si el número es positivo, la parte que se añade por la izquierda son bits a 0. Sin embargo, si era negativo (bit más significativo activo) la parte que se añade por la izquierda son bits a 1. Este fenómeno, en cuya demostración matemática no entraremos, se puede resumir en que el bit más significativo se copia en todos los añadidos: es lo que se denomina la extensión del signo: los dos siguientes números son realmente el mismo número (el -310): 11012 (4 bits) y 111111012 (8 bits).
Sistema de numeración octal
El sistema de numeración octal es muy importante en el trabajo que se realiza en una computadora digital. Este tiene una base de ocho, lo cual significa que tiene ocho posibles dígitos: 0, 1, 2, 3, 4, 5, 6 y 7. Así, cada dígito de un número octal puede tener cualquier valor del 0 al 7.
Conversi6n de octal a decimal.- Por tanto, un número octal puede convenirse fácilmente a su equivalente decimal multiplicando cada dígito octal por su valor posicional. Por ejemplo:
2748 = 2 x 82 + 7 x 81 + 4 x 80
2848 = 2 x 64 + 7 x 8 + 4 x 1
2848 = 18810
Conversión de decimal a octal.- Un entero decimal se puede convertir a octal con el mismo método dc división repetida que se usó en la conversión de decimal a binario, pero con un factor de división dc 8 en lugar de 2. Por ejemplo:
con residuo 4
con residuo 4
con residuo 2
Al final resulta que:
16410 = 2448
Conversión de octal a binario.- La ventaja principal del sistema de numeración octal es la facilidad con que se puede realizar la conversión entre números binarios y octales. La conversión de octal a binario se lleva a cabo conviniendo cada dígito octal en su equivalente binario dc 3 bits.
Por medio de estas conversiones, cualquier número octal se conviene a binario, convirtiéndolo dc manera individual. Por ejemplo, podemos convertir 516, a binario de la siguiente manera:
5 1 6
101. 001 110
entonces:
5168 = 1010011102
Conversi6n de binario a octal.- La conversión de enteros binarios a octales es simplemente la operación inversa del proceso anterior. Los bits del número binario se agrupan en conjuntos de tres comenzando por el LSB. Luego, cada grupo se convierte a su equivalente octal. Por ejemplo:
111 001 101 110
7 1 5 6
entonces:
1110011011102 = 71568
Sistema De Numeración Hexadecimal
Conversión de hexadecimal a decimal.- Un número hexadecimal se puede convenir a su equivalente decimal utilizando el hecho de que cada posición de los dígitos hexadecimales tiene un valor que es una potencia de 16. El LSD tiene un valor de l60 = 1; el siguiente dígito en secuencia tiene un valor de 161 = 16; el siguiente tiene un valor de 162 = 256 y así sucesivamente. Por ejemplo:
81216 = 8 x 162 + 1 x 161 + 2 x 160
81216 = 2048 + 16 + 2
81216 = 206610
Conversión de decimal a hexadecimal.- Recuerde que efectuamos la conversión de decimal a binario por medio de la división repetida entre 2 y de decimal a octal por medio de la división repetida entre 8. De igual manera, la conversión de decimal a hexadecimal se puede efectuar por medio de la división repetida entre 16. Por ejemplo:
con residuo 7
con residuo 010
con residuo 1
entonces:
42310 = 1A716
Conversión de hexadecimal a binario.- Al igual que el sistema de numeración octal, el sistema hexadecimal se usa principalmente como método ‘taquigráfico" en la representación de números binarios. Es una tarea relativamente simple la de convertir un número hexadecimal en binario. Cada dígito hexadecimal se convierte en su equivalente binario de 4 bits. Por ejemplo:
6 D 2 3
110. 1101 0010 0011
entonces:
6D2316 = 1101101001000112
Conversión de binario a hexadecimal.- Esta conversión es exactamente la operación inversa del proceso anterior. El número binario se agrupa en conjuntos de cuatro bits y cada grupo se convierte a su dígito hexadecimal equivalente. Cuando es necesario se añaden ceros para completar un grupo de cuatro bits.
11101001102 = 0011 1010 0110
3 A 6
11101001102 = 3A616
lunes, 27 de junio de 2011
ENTEROS Y BINARIOS
ENTEROS Y BINARIOS
Primero que todo no hay que confundir la palabra cifra y número.
A. Una cifra es uno de los signos 0 - 9
B. Y un número representa un valor.
En el sistema binario el número 2 es la base, ya que el computador no puede contar con más.
Y se representa con la siguiente cifra 0 - 1
Por eso al elevar esta base o potencia de 10 su resultado es 1024
210 = 1024
2 0 = 1
2 1 = 2
2 2 = 4
2 3 = 8
2 4 = 16
2 5 = 32
2 6 = 64
2 7 = 128
2 8 = 256
2 9 = 512
2 10 = 1024
EJEMPLO:
224 2
02 112 2
04 12 56 2
0 0 16 28 2
0 08 14 2
0 0 7 2
1 3 2
1 1
NOTA: Se comienza a leer las cifras desde el último cociente hasta el primer residuo. Quedando como base cada una de las cifras.
Ubicando la cifra del cociente de izquierda a derecha, quedando en tecnología del computador, ocho cifras formando un byte.
11100000
Radicar las ocho cifras de izquierda a derecha, comenzando con el máximo exponente hasta el mínimo que es cero (0).
Quedando de la siguiente forma:
17 16 15 04 03 02 01 00
Ahora multiplique la base de la cifra anterior comenzando de izquierda a derecha.
2 0 = 1x0=0
2 1 = 2x0=0
2 2 = 4x0=0
2 3 = 8x0=0
2 4 = 16x0=0
2 5 = 32x1=32
2 6 = 64x1=64
2 7 = 128x1=128
Por último sumar el resultado 32+64+128=224
Primero que todo no hay que confundir la palabra cifra y número.
A. Una cifra es uno de los signos 0 - 9
B. Y un número representa un valor.
En el sistema binario el número 2 es la base, ya que el computador no puede contar con más.
Y se representa con la siguiente cifra 0 - 1
Por eso al elevar esta base o potencia de 10 su resultado es 1024
210 = 1024
2 0 = 1
2 1 = 2
2 2 = 4
2 3 = 8
2 4 = 16
2 5 = 32
2 6 = 64
2 7 = 128
2 8 = 256
2 9 = 512
2 10 = 1024
EJEMPLO:
224 2
02 112 2
04 12 56 2
0 0 16 28 2
0 08 14 2
0 0 7 2
1 3 2
1 1
NOTA: Se comienza a leer las cifras desde el último cociente hasta el primer residuo. Quedando como base cada una de las cifras.
Ubicando la cifra del cociente de izquierda a derecha, quedando en tecnología del computador, ocho cifras formando un byte.
11100000
Radicar las ocho cifras de izquierda a derecha, comenzando con el máximo exponente hasta el mínimo que es cero (0).
Quedando de la siguiente forma:
17 16 15 04 03 02 01 00
Ahora multiplique la base de la cifra anterior comenzando de izquierda a derecha.
2 0 = 1x0=0
2 1 = 2x0=0
2 2 = 4x0=0
2 3 = 8x0=0
2 4 = 16x0=0
2 5 = 32x1=32
2 6 = 64x1=64
2 7 = 128x1=128
Por último sumar el resultado 32+64+128=224
SEGURIDAD DEL SISTEMA DE ARCHIVOS - CHMOD
COMANDO CHMOD
Nodo - i: Estructura de datos empleada por el sistema de ficheros o archivos de Unix y Linux para representar un archivo.
Número - i: Número que identifica a un nodo - i en la tabla de archivos del sistema de ficheros de Unix y Linux.
Tabla de campos que integran la estructura de los nodos - i
1. Tipo de archivo.
1.1 Permisos.
2. Número de enlaces o Número - i.
3. Nombre del Dueño o Nombre del Usuario.
4. Nombre del Grupo.
5. Tamaño de archivo en bytes.
6. Fecha y Hora de la última actualización.
7. Nombre del archivo o fichero.
-rw-r--r-- 1 unix401 group 201 July 18 11:22 archivo
IDENTIFICACIÓN DE ARCHIVOS, DIRECTORIOS Y ENLACES
drwxr-xr-x Identifica directorio (d)
-rw-r--r-- Identifica fichero o archivo (-)
lrwxrwxrwx Identifica enlace (l)
4.2 PERMISOS DE ACCESO A ARCHIVOS Y DIRECTORIOS
Cada archivo y directorio de Linux y Unix tiene asociado un conjunto de permisos que determina quiénes pueden acceder a él y en qué forma.
Estos permisos se establecen para restringir el acceso de una de las tres siguientes maneras:
a. Acceso permitido sólo a usted.
b. Acceso permitido también a los usuarios de un grupo predeterminado.
c. Acceso permitido a cualquiera que pertenezca a su sistema.
Hay tres diferentes categorías de usuarios que pueden tener acceso a un archivo o a un directorio:
• Usuario
• Grupo
• Otros
Usuario: El usuario que ha creado el archivo; cualquier archivo que cree le pertenece.
Grupo: También puede permitir que su grupo tenga acceso a un archivo.
Otros: Por ultimo, también puede conceder acceso al archivo a todos los demás usuarios del sistema; en este caso, cada uno de los usuarios de su sistema tendría acceso a uno de sus archivos o directorios.
Cada categoría tiene su propio conjunto de permisos de lectura, escritura y ejecución.
El primer conjunto controla el acceso del propio usuario a sus archivos o acceso del propietario.
El segundo conjunto controla el acceso del grupo a los archivos de un usuario.
El tercero controla el acceso de todos los usuarios a los archivos del usuario.
De esta manera, los permisos determinan quién puede acceder al archivo. (lectura, escritura y ejecución)
La cadena esta formada por los caracteres r,w,x.
a. Un carácter r (read) determina que el usuario en particular tiene acceso de lectura al archivo.
b. Un carácter w (write) que existe permisos de escritura.
c. Un carácter x (execute) que hay permisos de ejecución.
LA ORDEN CHMOD
Permite modificar los permisos para los archivos. Sólo el propietario de un archivo puede modificar sus permisos.
El símbolo para añadir un permiso es el signo mas (+)
El símbolo para suprimir un permiso es el signo menos (-)
En el anterior ejemplo, la orden chmod añade el permiso de ejecución y suprime el permiso de escritura del archivo. El permiso de lectura queda sin cambios.
Permisos absolutos: patrones binarios
El método absoluto cambia todos los permisos a la vez, en lugar de especificar uno o el otro.
Las tres categorías, con tres permisos cada una, se ajustan a un formato binario expresado en notación octal. Los números octales tiene una estructura de base ocho; al ser traducidos a número binario, cada dígito octal se convierte en tres binarios.
Un número binario es un conjunto de 1 y 0.
Cada dígito octal se aplica a una de las categorías de usuarios. El primer dígito octal se aplica a la categoría de propietario, el segundo a la de grupo y el tercero a la categoría de otros.
OPERACIONES CON ARCHIVOS Y DIRECTORIOS
CP -R: Copia un subdirectorio de un directorio a otro. El directorio copiado incluirá todos sus propios subdirectorios.
ADMINISTRACIÓN DE DIRECTORIOS:
| mkdir | Crea un directorio. Sintaxis: $ mkdir directorio |
| rmdir | Borra un directorio. |
| ls -F | Lista los nombres de directorios con una barra puesta al final del nombre. Sintaxis: $ rmdir directorio |
| ls -R | Lista el directorio de trabajo así como también todos los subdirectorios. |
| cd nombre - directorio: | Se cambia al directorio especificado, haciéndolo el directorio de trabajo. cd sin ningún nombre de directorio regresa al directorio propio (home). Sintaxis: $ cd directorio <ENTER> $ cd <ENTER> |
| pwd | Visualiza el nombre de vía del directorio de trabajo. Sintaxis: $ pwd <ENTER> /home/dir1/dir2 |
COMANDOS BÁSICOS PARA EL MANEJO DE ARCHIVOS
Otras opciones del comando “l” | |
La orden ls -s: | La orden ls visualiza una lista de archivos que hay en su directorio y la opción -s añade el tamaño de cada archivo en bloques. |
La orden l -a | Esta orden visualiza los archivos ocultos del sistema y los creados por el usuario de trabajo. |
La orden lx | Esta orden visualiza los archivos y directorios por columnas. |
La orden lr: | Lista sólo la información de los directorios con su contenido. Sintaxis: $ lr Directorio <ENTER> |
La orden l -d | Lista sólo la información de los directorios sin su contenido. Sintaxis: $ l -d Directorio <ENTER> |
CANALIZACIONES | Se encontrará en situaciones en las que tendrá necesidad de enviar datos de una orden a otra. En otras palabras, querrá enviar la salida estándar de una orden a otra orden y no un archivo destino. El operador de canalización (carácter de barra vertical) colocado entre dos ordenes forma una conexión entre ellas. La salida estándar de una se convierte en la entrada estándar de la otra. La operación de la canalización recibe la salida de la orden que va delante de ella y envía estos datos como entrada a la orden que va detrás de la canalización. Sintaxis: $ ls | lpr <ENTER> Como se muestra en el anterior ejemplo, puede conectar la orden “ls” y la orden “lpr” con una canalización. La lista de nombres de archivo, que es la salida de la orden “ls”, es canalizada a la orden “lpr” |
MORE | Se hace algo muy similar para visualizar un archivo con números de línea. En este caso, la salida numerada usualmente es canalizada a la orden more para obtener una presentación pantalla por pantalla. Como se muestra en el anterior ejemplo, puede conectar la orden “ls” a la canalización y la orden more, dejando visualizar pantalla por pantalla el listado de directorios y archivos o ficheros localizados en el usuario de trabajo. |
A medida que vaya creando más y más archivos o ficheros, le interesará hacer copias de seguridad, cambiarlos de nombre, borrar algunos de ellos o incluso darles nombres adicionales.
Linux y Unix proporcionan varias órdenes de archivos que le permiten buscar archivos, copiarlos renombrados o suprimirlos.
Las órdenes son abreviaturas de palabras completas que constan sólo de dos caracteres.
CP | La orden cp representa a la palabra “copy” (copiar) y copia un archivo. Sintaxis: $ cp archivo1 archivo2 <ENTER> |
MV | Representa a la palabra “move” (mover) y renombra o desplaza un archivo. Sintaxis: rm: representa a la palabra “remove” (suprimir) y sirve para borrar archivos o ficheros Sintaxis: $ rm archivo <ENTER> |
LN | Representa a la palabra “link” (vincular) y sirve para añadir otro nombre a un archivo Sintaxis: $ ln archivo3 archivo4 |
FIND | La orden find le permite efectuar una búsqueda así. La orden find lleva como argumentos los nombres de directorios seguidos de varias opciones posibles que especifican el tipo y el criterio de la búsqueda. find busca entonces dentro de los directorios listados y en sus subdirectorios archivos que cumplan con ese criterio. La opción -NAME: Tiene como criterio un patrón e indica a find que busque nombres de archivo que coincidan con ese patrón. La opción -PRINT: La opción print indica a find que saque por la salida estándar los nombres de todos los archivos o ficheros que localice. |
Sintaxis: $ find /home -name lunes -print <ENTER> En el anterior ejemplo find busca el archivo o fichero lunes dentro del directorio home o casa de usuarios del sistema. |
Suscribirse a:
Entradas (Atom)





