2. Representación de la Información en Computadoras

Anuncio
2. Representación de la Información en Computadoras
2.1 Introducción
Las computadoras digitales han hecho posible muchos avances
científicos, industriales y comerciales que de otra manera nunca se hubieran
alcanzado. La propiedad más sorprendente de una computadora digital es su
generalidad. Puede seguir una secuencia de instrucciones, denominada
programa, que opera según la información dada.
La computadora digital de propósito general es el ejemplo mejor
conocido de un sistema digital. Las primeras computadoras digitales se usaron
principalmente para cálculos numéricos. En este caso, los elementos discretos
que se utilizan son dígitos. Para esta aplicación surgió el término de
computadora digital.
Los elementos discretos de información se representan en un sistema
digital mediante cantidades físicas denominadas señales. Las señales
eléctricas como voltajes y corrientes son las más comunes. Las señales en
todos los sistemas digitales en la actualidad tienen sólo dos valores discretos y
se dicen que son binarios.
Los números binarios son los más utilizados en las computadoras
debido a la naturaleza de los dispositivos electrónicos. Es más sencillo
construir un elemento que pueda estar normalmente abierto o cerrado
(biestable) que otro de 10 estados posibles. La representación binaria se
seguirá utilizando hasta que se descubra un dispositivo naturalmente dotado de
perfecta estabilidad en 10 estados.
2.2 Sistemas de numeración
En los sistemas de numeración no posicionales, el valor de una cifra
no depende de la posición que ésta ocupe dentro del número. El ejemplo más
conocido es el de los números romanos. La representación del número decimal
233 en el sistema de números romanos es:
CCXXXIII
Donde
una C equivale a 100
una X equivale a 10
e I a la unidad
En cambio en los sistemas de numeración posicionales el valor de
una cifra depende del lugar que ésta ocupe dentro del número. Los sistemas
decimal, hexadecimal, octal y binario son ejemplos de sistemas de numeración
posicionales. En el número decimal 233 el dígito 3 figura dos veces, pero el de
la derecha representa 3 unidades mientras que el de la izquierda representa
dos decenas.
Generalizando, en un sistema de numeración posicional de base b, la
representación de un número se define a partir de la regla:
(… a3 a2 a1 a0.a-1 a-2 a-3 …)b = … + a2 b2 + a1 b1 + a0 b0 + a-1 b-1 + a-2 b-2 + a-3 b-3 + …
Ejemplo: El número 6923,72 puede obtenerse como la suma:
6000
900
20
3
0.7
0.02
----------6923.72
unidades de mil
centenas
decenas
unidades
décimas
centémimas
Es decir, 6923.72 = 6*103+9*102+2*101+3*100+7*10-1+2*10-2
Nótese que cuando b es diez y los ai se eligen del conjunto de dígitos (
0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ), pero cuando el sistema es base x se eligen dígitos
del conjunto comprendido entre 0 y x-1.
El punto que aparece entre los dígitos a0 y a-1 se denomina punto
fraccionario. Cuando b es 10 se lo llama punto decimal y cuando b es 2, punto
binario.
Ejemplos en otras bases
(423.1)6 = 4×62 + 2×61 + 3×60 + 1×6-1
(427.2)8 = 4×82 + 2×81 + 3×70 + 2×8-1
(101.1)2 = 1×22 + 0×21 + 1×20 + 1×2-1
(923.1)10 = 9×102 + 2×101 + 3×100 + 1×10-1
= (159.17)10
= (279.25)10
= (5.5)10
= (923.1)10
2.3 Sistemas de numeración usuales en informática
2.3.1 Hexadecimal: se compone de 16 dígitos, siendo estos: 0, 1, 2, 3,
4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Para pasar una cifra expresada en hexadecimal a decimal hay que
aplicarle la fórmula de ponderación, como se ve en el ejemplo siguiente:
(1AC05.B)16 a decimal:
1*164 + 10*163 + 12*162 + 0*161 + 5*160 + 11*16-1 = (109573.69)10
2.3.3 Binario: Es el sistema de numeración con que operan
internamente las computadoras digitales. Se compone de 2 dígitos,
siendo estos: 0, 1. A cada dígito se lo denomina bit.
(101.01)2 a decimal:
1*22 + 0*21 + 1*20 + 0*2-1 + 1*2-2 = (5.25)10
Decimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Binario
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Hexadecimal
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Tabla de equivalencias de cifras entre sistemas
2.7 La información y su representación
Los datos son conjuntos de símbolos utilizados para expresar o
representar un valor numérico, un hecho, un objeto o una idea en la forma
adecuada para ser tratado. Un dato es cualquier objeto manipulable por la
computadora. Los datos pueden ser:

Adquiridos directamente por la computadora, como sería, por
ejemplo, la detección electrónica de temperatura o de una presión
excesiva.

Aportados por el usuario en forma de caracteres, es decir con letras,
números, caracteres especiales (símbolos ortográficos, aritméticos y
otros).
La codificación es una operación de transformación que representa los
elementos de un conjunto mediante los de otro, de forma que a cada elemento
del primer conjunto le corresponde un único elemento del segundo.
La información representada en un alfabeto de entrada debe ser
transformada (codificada) a un alfabeto de salida que entienda el computador.
La codificación debe realizarse de manera que a cada elemento del primer
alfabeto le corresponda un elemento distinto del segundo.
Inform ación
(alfabeto de entrada)
Sis te m a
de
Codificación
Inform ación
codificada
(alfabeto de salida)
Todo sistema de codificación lleva consigo un código que se define
como la ley de correspondencia biunívoca entre los datos que se van a
representar y su codificación.
Humanos
ASCII
A
65
M
77
N
78
8
56
=
61
Algunas de las características de un código es el conjunto de caracteres
y el número de bits que se utilizan para codificar un carácter (longitud del
código). El número máximo del conjunto de carácteres que podemos
representar es longitud.
En el interior de la computadora la información se almacena y se
transfiere de un lugar a otro en forma codificada. El código utilizado usa sólo
dos valores (código binario) representados por 0 y 1. En la entrada y la salida
de la computadora se efectúan automáticamente los cambios de códigos para
que en el exterior la información sea directamente entendida por el usuario.
La unidad más elemental de información en un ordenador es un valor
binario, un cero o un uno, un bit. Un bit es una posición de memoria que toma
el valor 0 o 1. Así pues, la mínima unidad de información en el interior de una
computadora es el bit.
La información se representa por medio de caracteres (letras
mayúsculas y minúsculas, números, caracteres de puntuación y especiales).
Pero la computadora sólo entiende secuencias binarias, así que dicha
información debe codificarse internamente en notación binaria (en bits). Por lo
tanto, a cada carácter le corresponderá cierto número de bits: una serie de bits
distinta.
Un byte es el mínimo número de bits necesarios para almacenar o
representar un carácter en una memoria de computadora (es la menor
cantidad de información direccionable sobre una memoria). Un byte suele
corresponder a 8 bits.
La capacidad de almacenamiento de una computadora o de un soporte
de información (disco rígido, CDROM, etc) se mide en bytes, pero suele
utilizarse múltiplos:
1 kilobyte
1 megabyte
1 gigabyte
1 terabyte
= 1 KB
= 1 MB
= 1 GB
= 1 TB
= 210 Bytes
= 210 KBytes
= 210 MBytes
= 210 GBytes
= 1024 Bytes
= 1024 KBytes
= 1024 MBytes
= 1024 GBytes
= 10241 bytes
= 1.048.576 bytes
= 1.073.741.824 bytes
= 10244 bytes
La información que se brinda a la computadora es en la forma normal
que usan los seres humanos, es decir, con la ayuda de un alfabeto o conjunto
de símbolos (caracteres). Los caracteres de texto son los siguientes:
a) Alfanuméricos:
a.1) Alfabéticos: A B C ...Y Z a b c ... y z
a.2) Numéricos: 0 1 2 3 4 5 6 7 8 9
b) Especiales (ortográficos, aritméticos y otros)
( ) , * / ; : + Ñ ñ = ! ? . » “ & > # < [ Ç ç ] sp
Para representar cualquier carácter en el interior de una computadora,
es decir, para realizar la conversión o transformación anterior, se utiliza un
alfabeto, como por ejemplo el BAUDOT, EBCDIC, ASCII. Tales alfabetos
asocian a cada carácter una determinada combinación de bits.
2.7.3 El código ASCII
El código ASCII (American Standard Code for Information
Interchange), fue establecido por el Instituto Nacional Americano de
Estándares (ANSI). Es un código de 7 bits (que permite codificar 2^7 =
128 caracteres) que ha sido muy aceptado y es ahora de uso general; y
en algunos casos se ha convertido en un código de 8 bits mediante la
adición de un dígito de paridad.
Existen varios caracteres del código ASCII, llamados caracteres
de control, que tienen significados especiales. Se usan para
transmisiones de datos en serie de una máquina a otra e indican cosas
como fin de línea, avance de carro, etc.
Oct Dec
0
0
01
1
02
2
03
3
04
4
05
5
06
6
07
7
010
8
011
9
012 10
013 11
014 12
015 13
016 14
017 15
020 16
021 17
022 18
023 19
024 20
025 21
026 22
027 23
030 24
031 25
032 26
033 27
034 28
035 29
036 30
037 31
040 32
041 33
042 34
043 35
044 36
045 37
046 38
047 39
050 40
051 41
052 42
053 43
054 44
055 45
056 46
057 47
060 48
061 49
062 50
063 51
064 52
065 53
066 54
067 55
070 56
071 57
Hex Caracter
0x00 NUL \0
0x01 SOH
0x02 STX
0x03 ETX
0x04 EOT
0x05 ENQ
0x06 ACK
0x07 BEL
0x08 BS \b
0x09 HT \t
0x0A LF \n
0x0B VT
0x0C FF \f
0x0D CR \r
0x0E SO
0x0F SI
0x10 DLE
0x11 DC1
0x12 DC2
0x13 DC3
0x14 DC4
0x15 NAK
0x16 SYN
0x17 ETB
0x18 CAN
0x19 EM
0x1A SUB
0x1B ESC
0x1C FS
0x1D GS
0x1E RS
0x1F US
0x20 SPACE
0x21 !
0x22 "
0x23 #
0x24 $
0x25 %
0x26 &
0x27 '
0x28 (
0x29 )
0x2A *
0x2B +
0x2C ,
0x2D 0x2E .
0x2F /
0x30 0
0x31 1
0x32 2
0x33 3
0x34 4
0x35 5
0x36 6
0x37 7
0x38 8
0x39 9
Oct
0100
0101
0102
0103
0104
0105
0106
0107
0110
0111
0112
0113
0114
0115
0116
0117
0120
0121
0122
0123
0124
0125
0126
0127
0130
0131
0132
0133
0134
0135
0136
0137
0140
0141
0142
0143
0144
0145
0146
0147
0150
0151
0152
0153
0154
0155
0156
0157
0160
0161
0162
0163
0164
0165
0166
0167
0170
0171
Dec
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
Hex Caracter
0x40 @
0x41 A
0x42 B
0x43 C
0x44 D
0x45 E
0x46 F
0x47 G
0x48 H
0x49 I
0x4A J
0x4B K
0x4C L
0x4D M
0x4E N
0x4F O
0x50 P
0x51 Q
0x52 R
0x53 S
0x54 T
0x55 U
0x56 V
0x57 W
0x58 X
0x59 Y
0x5A Z
0x5B [
0x5C \
0x5D ]
0x5E ^
0x5F _
0x60 `
0x61 a
0x62 b
0x63 c
0x64 d
0x65 e
0x66 f
0x67 g
0x68 h
0x69 i
0x6A j
0x6B k
0x6C l
0x6D m
0x6E n
0x6F o
0x70 p
0x71 q
0x72 r
0x73 s
0x74 t
0x75 u
0x76 v
0x77 w
0x78 x
0x79 y
072
073
074
075
076
077
58
59
60
61
62
63
0x3A
0x3B
0x3C
0x3D
0x3E
0x3F
:
;
<
=
>
?
0172
0173
0174
0175
0176
0177
122
123
124
125
126
127
0x7A
0x7B
0x7C
0x7D
0x7E
0x7F
z
{
|
}
~
DEL
En una cadena de caracteres cada carácter ocupa 1 byte y se
representa según el código de caracteres que se esté utilizando (ASCII o
EBCDIC). La cadena de caracteres de 4 bytes 48 4E 4C 41 representa,
según la tabla de códigos ASCII, a la cadena "HOLA."
Descargar