Está en la página 1de 15

1

Para llevar a su complexin la ciencia, es preciso recorrer una a una todas las cosas que pertenecen al fin que nos hemos propuesto mediante un movimiento del pensamiento continuo e ininterrumpido, y es preciso abarcarlas en una enumeracin suficiente y metdica. Ren Descartes Reglas para la direccin de la mente Regla VII - 1628. En trminos generales, se define un sistema digital como un sistema de procesamiento de informacin en el que la informacin est representada por seales que slo pueden tomar valores discretos. Cuando estas seales estn restringidas a tomar slo dos de estos valores, se dice que el sistema es binario. Como es sabido, los computadores son sistemas binarios de procesamiento de informacin, por lo que es conveniente un paseo por los fundamentos matemticos que se aplican al funcionamiento de estos dispositivos, as como de la terminologa adecuada.

1.1

Sistemas de Numeracin

Un sistema de numeracin se constituye con un conjunto ordenado de N smbolos, llamados dgitos. El nmero N es llamado base o rdix del sistema y establece el valor de la posicin de cada dgito en un nmero de tal manera que el valor del nmero se obtiene de realizar un desarrollo del mismo como polinomio de potencias de la base a lo que se llama notacin ampliada, por ejemplo, la siguiente identidad: 78210 = (7102 )+(8101 )+(2100 ) =

A PROPSITO Cuando se trabaja con distintos sistemas de numeracin, se suele colocar la base en la que est representado el mismo como un subndice. Observe en el ejemplo anterior: 78210 significa entonces, 782 en base 10.

d N
i i =0

expresa que el nmero 782 est representado en un sistema de base 10 y muestra al mismo como un polinomio de potencias de 10 o, como se dice en aritmtica primaria, 782 es igual a 2 unidades ms 8 decenas ms 7 centenas. As se tiene entonces que cada dgito tiene un valor nominal el valor expresado por el dgito mismo y un valor de posicin: en el ejemplo, el 7 tiene un valor de posicin de 700, el 8 un valor de posicin de 80, etc. Dado entonces que el valor de un nmero as representado est determinado por la posicin de sus dgitos, se dice que este sistema es posicional.
SISTEMA Decimal Binario Octal Hexadecimal BASE 10 2 8 16 DGITOS ORDENADOS 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 0, 1 0, 1, 2, 3, 4, 5, 6, 7 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F EJEMPLO X = X10 1010102 = 4210 528 = 4210 2A16 = 4210

Los cuatro sistemas de numeracin ms utilizados en computacin son mostrados en la Tabla 1-1; observe que en todos ellos, no existe un smbolo propio para cantidades mayores que la base, por ejemplo, no existe un smbolo para el 10 en el sistema decimal, as como no existe un smbolo para el 2 en el sistema binario ni para el 8 octal ni para el 16 hexadecimal. Otros sistemas de numeracin utilizados incluyen al ternario base 3 y al duodecimal base 12 as como al sistema de numeracin romano que, aunque no es un sistema posicional, ha sido utilizado desde los tiempos del Imperio Romano hasta nuestros das.

1.2

Sistema de numeracin decimal

Es el sistema de numeracin usado por los humanos, hecho que se atribuye a que stos tienen 10 dedos, los que fueron tiles para la primera operacin numrica llevada a
COMENTARIO Se dice que es el utilizado por los humanos por tener stos 10 dedos. Es el utilizado por los sistemas digitales. Sus dgitos son llamados bits. Posee un smbolo diferente para cada nmero binario del 000 al 111. A16=1010, B16=1110, C16=1210, D16=1310, E16=1410, F16=1510. Proporciona un modo compacto para trabajar con binarios.

Tabla 1-1 Algunos Sistemas de Numeracin

Pag. 1-2

Cap.1 : Principios Digitales DEC 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 HEX 0 1 2 3 4 5 6 7 8 9 A B C D E F BIN 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 OCT 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17

cabo por ellos: contar. Por esta razn es que las potencias de diez no son escritas sino que se implican en la posicin de cada dgito. Este sistema adquiere una singular importancia cuando se trabaja con varios sistemas de numeracin porque, como se ver ms adelante, para llevar a cabo conversiones entre distintos sistemas es necesario operar en la aritmtica de uno de esos sistemas, lo cual no es fcil ya que la mayora de las personas slo estn familiarizadas con la aritmtica decimal.

1.3

Sistema Binario

Como se muestra en la Tabla 1-1, este sistema es de base 2, por lo que emplea slo dos smbolos: 0 y 1. Cualquier valor en l estar entonces escrito como una secuencia de ceros y unos en el que la posicin de cada dgito binario corresponde a una potencia de dos, comenzando con 20 en el lugar de la unidad, por ejemplo: que tambin se puede escribir como:

Tabla 1-2: Equivalencia entre sistemas de numeracin

resto de la parte entera del nmero y potencias negativas de ocho para la parte fraccionaria. Igualmente, se antepone el signo - para formar un nmero negativo. La utilidad principal de este sistema est en que proporciona un mtodo abreviado para trabajar con nmeros binarios: observe que existe un smbolo distinto de nmero octal para los nmeros binarios del 0 al 111 y que un nmero binario de mayor nmero de dgitos puede ser escrito agrupando dgitos en grupos de tres, de derecha a izquierda para la parte entera y de izquierda a derecha para la parte fraccionaria, para luego traducir cada grupo en su correspondiente representacin octal. Observe los siguientes ejemplos:

1010102 = 125 + 024 + 123 + 022 + 121 + 020 1010102 = 132 + 016 + 18 + 04 + 12 + 01 De igual forma, los nmeros binarios con parte fraccionaria representan a sta parte ubicada a la derecha del punto fraccionario, por ejemplo: 101.0112 = 122 + 021 + 120 + 02-1 + 12-2 + 12-3 Observe en el ejemplo anterior, que las posiciones a la derecha del punto fraccionario corresponden a potencias negativas de dos. Los nmeros negativos se representan de forma similar a los nmeros en base diez, es decir, anteponiendo el signo - al nmero. As, -610 = -1102. La Tabla 1-2 muestra la equivalencia de los nmeros decimales del 0 al 15 con su representacin binaria, octal y hexadecimal.
A PROPSITO Es frecuente encontrar nmeros binarios escritos con ceros a la izquierda, hasta completar una cantidad fija de dgitos; as, nmeros como el uno (1) se encuentran escritos de la siguiente manera: 0001.

1010001112 = 101 000 1112 = 5078 110001011.10112 = 110 001 011. 101 1002 = 613.548 11101112 = 001 110 1112 = 1678

1.5

Sistema Hexadecimal

Tambin denominado sistema hex, es el sistema de base diecisis; utiliza los smbolos mostrados en la Tabla 1-1: observe que, dado que la base del sistema es mayor que 10, este sistema utiliza ms smbolos que los diez utilizados en el sistema decimal; por ello se ha convenido en adoptar a las letras A, B, C, D, E y F como los smbolos para los valores hexadecimales que corresponden a los valores decimales 10, 11, 12, 13, 14 y 15 respectivamente, como tambin se muestra en la Tabla 1-2. Para formar un nmero en este sistema, igualmente se usa el valor de posicin de cada dgito, de tal modo que: 3D2.A816 = 3162 + 13161 + 2160 + 1016-1 + 816-2 es decir, que a semejanza con los otros sistemas, cada nmero hexadecimal puede ser representado como un polinomio de potencias de diecisis: 160 para la posicin de la unidad, potencias positivas de diecisis para el resto de la parte entera del nmero y potencias negativas de diecisis para la parte fraccionaria. Tambin, se antepone el signo - para formar un nmero negativo. La utilidad principal de este sistema est en que, de igual forma que el sistema octal, proporciona un mtodo abreviado para trabajar con nmeros binarios: observe que existe un smbolo distinto de nmero hexadecimal para los nmeros binarios del 0 al 1111 y que un nmero binario de mayor nmero de dgitos puede ser escrito agrupando dgitos en grupos de cuatro, de derecha a izquierda para la parte entera y de izquierda a derecha para la parte fraccionaria, para luego traducir cada grupo en su correspondiente representacin hexadecimal. Observe los siguientes ejemplos:
Ing. Jos Ricardo Vargas

1.4

Sistema Octal

Es el sistema de base ocho; utiliza los smbolos mostrados en la Tabla 1-1 y, como cualquier sistema de numeracin, tambin forma nmeros mediante el valor de posicin de los dgitos, por ejemplo 428 = 481 + 280 es decir, que cada nmero octal puede ser representado como un polinomio de potencias de ocho: 80 para la posicin de la unidad, potencias positivas de ocho para el
Programacin con Delphi

Cap.1: Principios Digitales

Pag. 1-3

110101112 = 1101 01112 = D716 10101110.101112 = 1010 1110. 1011 10002 = AE.D816 11101112 = 0111 01112 = 7716

1.6

Conversin entre sistemas

De cualquier sistema a decimal: Basta con desarrollar el nmero como un polinomio de potencias de la base original y evaluar la expresin resultante en base decimal. Ej.: Binario a decimal: 101012= 124 +023 +122 +021 +120 =16 + 4 + 1 = 2110 111.012 = 122 +121 +120 +12-2 = 4 + 2 + 1 + 0.25 = 7.2510 -1010.12 = -(123 + 121 + 12-1 ) = -(8 + 2 + 0.5) = -10.510 Observe que en el segundo y en el tercer ejemplo no se escribieron los trminos multiplicados por cero; esta es una prctica habitual. Ej.: Hexadecimal a decimal: 2A16 = 2161 + A160 = 32 + 10 = 4210 5.4D16 = 5160 + 416-1 + 1316-2 = 5 + 0.25 + 0.0508 = 5.300810 -3E.F16 = -(3161 + 14160 + 1516-1 ) = (48 + 14 + 0.9375) = -62.937510 Ej.: Octal a decimal: 1238 = 182 + 281 + 380 = 64 + 16 + 3 = 8310 42.218 = 481 + 280 + 28-1 + 18-2 = 32 + 2 + 0.25 + 0.015625 = 34.26562510 -3.728 = -(380 + 78-1 + 28-2 ) = -(3 + 0.875 + 0.03125) = -3.9062510 De decimal a cualquier sistema: Si el nmero contiene una parte fraccionaria, entonces la conversin se realiza en dos partes: una para la parte entera y otra para la parte fraccionaria. Parte entera: Se divide el nmero en base decimal entre la base a la que se desea convertir, conservando el residuo. Se repite sucesivamente la operacin con el cociente restante hasta que el mismo sea cero. Luego, el nmero convertido se formar con los residuos tomados desde el ltimo hasta el primero.
Decimal a binario 20 2 2 5 1 2 2 0 0 10 0 Decimal a Hexadecimal 967 7 16 60 16 12 3 16 3 0 Entonces 96710 = 3C716

sustrae la parte entera y se vuelve a multiplicar la parte fraccionaria restante por la base a la que se desea convertir. Se repite el proceso hasta que la parte fraccionaria del producto de la multiplicacin es 0.00, cosa que no siempre ocurre, en cuyo caso deber detenerse el proceso cuando se haya alcanzado una precisin aceptable. Luego, el nmero convertido se formar con las partes enteras conservadas, siendo la primera la que se coloca inmediatamente despus del punto fraccionario, incluyendo la del ltimo producto.
Decimal a binario Decimal a Hexadecimal

0.375 x 0.75 x 0.50 x

2 = 0.75 2 = 1.50 2 = 1.00

0.421875 x 16 = 6.75 0.75 x 16 = 12.0

Entonces 0.37510 = 0.0112

Luego 0.42187510 = 0.6C16

Combinando los ejemplos anteriores, se tiene: 20.37510 = 10100.0112 y 967.42187510 = 3C7.6C16 Entre binario, octal y hexadecimal: Como ya se explic en 1.4 y en 1.5, la utilidad de los sistemas hexadecimal y octal se encuentra en la facilidad con que se puede llevar a cabo la conversin entre estos sistemas y el sistema binario, mediante la agrupacin de dgitos de derecha a izquierda para la parte entera y de izquierda a derecha para la parte fraccionaria, en grupos de tres dgitos para convertir a sistema octal o en grupos de cuatro dgitos para convertir a sistema hexadecimal, y luego usar las equivalencias dadas en la Tabla 1.2. As: 101000111.011012 = 101 000 111 . 011 010 = 507.328 101000111.011012 = 0001 0100 0111 . 0110 1000 = 147.6816 Observe que ha sido necesario agregar ceros a la izquierda de la parte entera o a la derecha de la parte fraccionaria para completar un grupo de 3 o 4 bits. De un sistema de base b1 a un sistema de base b2: Vea el caso de conversin de cualquier sistema a sistema decimal: en l se emplea la representacin del nmero como polinomio de potencias de la base para luego resolverlo en base decimal. Al contrario, cuando se desea convertir un nmero en base decimal a cualquier otra base, se emplea la divisin sucesiva del nmero entre la base, llevando a cabo estas divisiones en base decimal. Todo esto indica tres cosas: primero, que para convertir un nmero en base b1 a base b2, se puede convertir primero de base b1 a decimal y luego de decimal a base b2. Segundo, que tambin se puede convertir de base b1 a base b2 representando el nmero como un polinomio de potencias de la base b1 y luego resolviendo el polinomio pero llevando a cabo las operaciones en base b2, lo cual puede resultar difcil si no se maneja con soltura la aritmtica en dicha base razn por la cual no se trata en
Ing. Jos Ricardo Vargas

2 1 2 1 0 Entonces 2010 = 101002

Parte fraccionaria: Se multiplica la parte fraccionaria en base diez por la base a la que se desea convertir y se conserva la parte entera del resultado. De este resultado se
Programacin con Delphi

Pag. 1-4

Cap.1 : Principios Digitales

este texto. Y tercero, que tambin se puede convertir de base b1 a base b2, realizando divisiones sucesivas entre b2 pero llevando a cabo las operaciones en base b1, lo cual, como se acaba de mencionar, puede resultar difcil. A PROPSITO
En computacin, las unidades de medida fundamentales son el bit y el

71510 = 111 0001 0101 = 11100010101BCD Cdigo ASCII: (American Standard Code for Information Interchange, se pronuncia asqui) Es una codificacin usada para traducir las letras del alfabeto, los dgitos del 0 al 9, los signos de puntuacin y otros smbolos especiales, a secuencias de unos y ceros, por lo que se dice que ste es un cdigo alfanumrico. ste no utiliza una regla o norma especfica para la correspondencia entre un carcter y un nmero binario sino una convencin aceptada internacionalmente, la cual se muestra en la prxima pgina. Observe que, segn este cdigo: A 6510 4116 10000012 As, se puede ver que cada caracter queda representado por un byte de 8 bits. Originalmente, el cdigo ASCII usaba bytes de 7 bits, por lo que slo abarcaba los primeros 128 caracteres de la tabla actual, de los cuales los primeros 32 correspondan a los caracteres de control de los dispositivos de impresin. Posteriormente se le aadieron otros 127 para satisfacer las necesidades de manipulacin de caracteres con puntuacin especial, as como tambin caracteres usados en distintos pases y caracteres de dibujo simple. Estos ltimos han sido de gran utilidad para su uso en sistemas operativos de tipo cnsola que no tienen altas capacidades grficas caracteres 176-223. Si bien existen otros cdigos con el mismo propsito que el ASCII, ste se ha mantenido como el estndar para la industria de la informtica, an cuando la longitud de la tabla no resulta adecuada para los lenguajes orientales japons, chino, etc. cuyos juegos de caracteres abarcan un nmero superior a 3000. Cdigo ANSI: (American National Standards Institute) Es una variedad del cdigo ASCII nacida para su utilizacin en sistemas operativos de interfaz grfica como Windows, Unix y Linux, por lo que no necesita caracteres especiales para formar elementos de dibujo. Existe una gran cantidad de variaciones menores debido a la existencia de diversos juegos de caracteres y tipos de letras fonts. En las prximas pginas se muestra la versin estndar de la misma, la cual puede ser vista tambin a travs del mapa de caracteres de Windows para la mayora de los tipos de letra. Cdigo Unicode: Es una ampliacin de los cdigos ASCII y ANSI que responde a la necesidad de contar con un cdigo que represente los caracteres de la mayora de los lenguajes del planeta, incluyendo los caracteres asiticos, los smbolos matemticos y las letras griegas, por mencionar slo algunos. ste utiliza bytes de 16 bits, por lo que puede representar hasta 65535 smbolos pero, hasta la fecha, no est disponible para todos los sistemas operativos como MS-DOS debido a que stos no estn capacitados para manipular tal nmero de caracteres. Se puede ver a travs del mapa de caracteres en algunos tipos de letras como Arial Unicode que vienen con las ltimas versiones de Windows.
Ing. Jos Ricardo Vargas

byte. La palabra Bit es un acrnimo de las palabras Binary digit (dgito binario). Dado que el sistema de numeracin binaria emplea slo 2 smbolos (0 y 1) y que los sistemas de manipulacin de informacin digitales emplean fundamentalmente el sistema binario, se dice que un bit es la unidad ms simple de informacin que un sistema digital puede manejar. Dicho de otra manera, un componente digital slo manipula dos estados representados por un bit: 0=apagado y 1=encendido. Un byte, en su definicin original, es una agrupacin de bits. La popularidad de los primeros microcomputadores trajo consigo la popularidad de algunos trminos relacionados y uno de ellos es el byte, que para esos primeros microcomputadores era una agrupacin de 8 bits. Por ello, an cuando actualmente los computadores personales trabajan con bytes de 64 bits o ms, el trmino byte qued establecido en la terminologa popular como aquel de 8 bits. Los bytes cuyo nmero de bits es mltiplo de 8 tienen denominaciones especiales: Word (16 bits), Doubleword (32 bits), Quadword o Longword (64 bits) y Double Quadword (128 bits).

A PROPSITO Cuando se habla en un contexto informtico debe tenerse una especial precaucin de no confundir el significado de los prefijos numricos ya que en ste son distintos. As, por ejemplo, un Kilobyte no es igual a 1000 bytes (o 103) sino a 1024 (o 210). Vea la tabla 1-3.

Prefijo Kilo Mega Giga Tera

Normal 10 o mil 106 o un milln 109 o mil millones 10 o un billn


12 3

Informtico 210 o 1.024 220 o 1.048.576 230 o 1.073.741.824 240 o 1.099.511.627.776

Tabla 1-3 Prefijos informticos

1.7

Cdigos binarios

Un computador no slo manipula datos numricos, tambin manipula datos alfabticos, grficos, de multimedia, etc. Por ello ha sido necesario desarrollar cdigos que permitan traducir elementos no numricos a secuencias de unos y ceros para que ste pueda manejarlos. Es responsabilidad de cada aplicacin interpretar correctamente su significado. A continuacin se mencionan algunos de los ms populares. Cdigo BCD: (Binary Coded Decimal) Existe en varias versiones. La ms utilizada, tambin llamada BCD 8421, es una codificacin que consiste en utilizar slo la representacin binaria de los nmeros del 0 al 9 para formar cualquier nmero, dgito a dgito. Por ejemplo, para convertir el nmero 71510 se utiliza la representacin binaria del 7 seguida de la del 1 y seguida de la del 5 para formar el BCD, es decir:
Programacin con Delphi

Cap.1: Principios Digitales

Pag. 1-5

0
0
0

1
16

2
32

SP
1

0
48

@
64

P
80

`
96

p
112

128

144

160

176

192

208

224

240

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

1 2 3 4 5 6 7 8 9 A B C D E F

17 18

!
33

1
49

A
65

Q
81

a
97

q
113

129

145

161

177

193

209

225

6
241

"
34

2
50

B
66

R
82

b
98

r
114

130

146

162

178

194

210

226

242

!!
19

#
35

3
51

C
67

S
83

c
99

s
115

131

147

163

179

195

211

227

243

20

$
36

4
52

D
68

T
84

d
100

t
116

132

148

164

180

196

212

228

244

21

%
37

5
53

E
69

U
85

e
101

u
117

133

149

165

181

197

213

229

245

22

&
38

6
54

F
70

V
86

f
102

v
118

134

150

166

182

198

214

230

246

BEEP
7

23

'
39

7
55

G
71

W
87

g
103

w
119

135

151

167

183

199

215

231

247

BKS
8

24

(
40

8
56

H
72

X
88

h
104

x
120

136

152

168

184

200

216

232

248

25

)
41

9
57

I
73

Y
89

i
105

y
121

137

153

169

185

201

217

233

249

LF
10

26

*
42

:
58

J
74

Z
90

j
106

z
122

138

154

170

186

202

218

234

250

11

27

+
43

;
59

K
75

[
91

k
107

{
123

139

155

171

187

203

219

235

251

12

28

44

<
60

L
76

\
92

l
108

|
124

140

156

172

188

204

220

236

252

CR
13

29

45

=
61

M
77

]
93

m
109

}
125

141

157

173

189

205

221

237

253

14

30

.
46

>
62

N
78

^
94

n
110

~
126

142

158

174

190

206

222

238

254

15

31

/
47

?
63

O
79

_
95

o
111

127

143

159

175

191

207

223

239

SP
255

0000 NOTAS:

0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

BEEP (07) = Sonido del Altavoz BKS (08) = BACKSPACE = Mover el cursor un espacio atrs y borrar. LF (10) = LINE FEED = Mover el cursor a la lnea siguiente. CR (13) = CARRIAGE RETURN = LF + colocar el cursor al principio de la lnea. SP (32) = SPACE = Espacio en blanco. Los caracteres del rea sombreada varan segn el dispositivo de impresin. Los caracteres entre el 128 y el 255 varan segn algunos pases de aplicacin.
Tabla 1-4 Caracteres del Cdigo ASCII, codificacin decimal, hexadecimal y binaria

Programacin con Delphi

Ing. Jos Ricardo Vargas

Pag. 1-6

Cap.1 : Principios Digitales

0
0
0

2 SP

0
48

@ P
64 80

`
96

p
112

128 144 160

176

192

208

224

240

0000

16

32

1 2 3 4 5 6 7 8 9 A B C D E F

!
1 17 33

1
49

A
65

Q
81

a
97

q
113 129

145

161

177

193

209

225

241

0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

"
2 18 34

2
50

B
66

R
82

b
98

r
114

130

146

162

178

194

210

226

242

#
3 19 35

3
51

C
67

S
83

c
99

s
115

131

147

163

179

195

211

227

243

$
4 20 36

4
52

D
68

T
84

d
100

t
116

132

148

164

180

196

212

228

244

%
5 21 37

5
53

E
69

U
85

e
101

u
117

133

149

165

181

197

213

229

245

&
6 22 38

6
54

F
70

V
86

f
102

v
118

134

150

166

182


198 214 230

246

'
7 23 39

7
55

G W
71 87

g
103

w
119

135

151

167

183

199

215

231

247

BKS
8 24

(
40

8
56

H
72

X
88

h
104

x
120

136

152

168

184

200

216

232

248

)
9 25 41

9
57

I
73

Y
89

i
105

y
121


137 153 169

185

201

217

233

249

LF
10 26

*
42

:
58

J
74

Z
90

j
106

z
122

138

154

170

186

202

218

234

250

+
11 27 43

;
59

K
75

[
91

k
107

{
123

139

155

171

187

203

219

235

251

12 28 44

<
60

L
76

\
92

l
108

|
124


140 156

172

188

204

220

236

252

CR
13 29

45

=
61

M
77

]
93

m
109

}
125 141 157

173

189

205

221

237

253

.
14 30 46

>
62

N
78

^
94

n
110

~
126 127

142 143

158

174

190

206

222

238

254

/
15 31 47

?
63

O
79

_
95

o
111

159

175

191

207

223

239

255

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 NOTAS BKS (08) LF (10) CR (13) SP (32) = = = = BACKSPACE LINE FEED CARRIAGE RETURN SPACE = = = = Mover el cursor un espacio atrs y borrar. Mover el cursor a la lnea siguiente. LF + colocar el cursor al principio de la lnea. Espacio en blanco.

= Caracter variable: depende del tipo de letra. Los cdigos del rea sombreada corresponden a valores de control no visibles. Los caracteres entre el 128 y el 255 varan segn el tipo de letra y el juego de caracteres del sistema operativo.
Tabla 1-5 Caracteres del Cdigo ANSI, codificacin decimal, hexadecimal y binaria Programacin con Delphi Ing. Jos Ricardo Vargas

Cap.1: Principios Digitales

Pag. 1-7

1.8

Aritmtica binaria

Realizar operaciones aritmticas en un sistema de numeracin distinto al decimal resulta difcil debido a la ausencia de experiencia en el manejo de las operaciones. Sin embargo, el sistema binario presenta una facilidad basada en lo sencillo que es aprender estas operaciones bsicas como sumar y multiplicar, as como otras que resultan de fcil implementacin en circuitos digitales binarios. En la siguiente figura se muestran las tablas de sumar, restar, multiplicar y dividir nmeros binarios. +
0 1 0 0 1 1 1 10

Existen adems otras dos operaciones que involucran la manipulacin de bits y que se han implementado en algunos lenguajes de programacin, entre ellos Pascal, an cuando no entran en la categora de aritmticas. Se denominan operaciones de desplazamiento y son shl abreviatura de shift left y shr abreviatura de shift right y su funcin consiste en mover bits hacia la izquierda shl o hacia la derecha shr en un byte dado. As: Desplazamiento hacia la izquierda shl: Byte original
1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 1 0
Bit que se agrega

0 1

0 0 1

1 1P 0

0 1

0 0 0

1 0 1

0 1

1 0 1

Byte shl 1

Desplazamiento hacia la derecha shr: Byte original 1 0 1 1 0 1 1 1



Bit que se pierde

Figura 1-1 Operaciones aritmticas binarias

En esta figura, 1 en la tabla de restar significa 1 ms un prstamo del dgito siguiente, tal como se hace en la resta decimal cuando un dgito del sustraendo es mayor que el correspondiente dgito del minuendo. Observe tambin la ausencia de la columna del cero en la tabla de dividir, debido a que en binario, as como en cualquier base, la divisin por cero no est definida. El manejo de estas operaciones cuando los nmeros son mayores a los que aparecen en las tablas, es igual que en aritmtica decimal: Suma:
1 1 1

Byte shr 1

0 1 0 1 1 0 1 1
Bit que se agrega

En ambos casos, el nmero que sigue al operador de desplazamiento, indica el nmero de lugares que han de desplazarse los bits. As, 10012 shl 2 = 1001002 y 10012 shr 2
= 102.

1.9

Almacenamiento de nmeros naturales

acarreos

125 + 80 205 Resta:


1

11 1 11 01 +1 01 0 000 1 10 0 11 0 1
1

Fsicamente, la memoria del computador slo almacena ceros y unos la razn para usar el sistema binario. De hecho, se puede imaginar sta como una enorme coleccin de casillas que almacenan slo ceros y unos, de un modo parecido a como se muestra a continuacin:
1 0 1 0 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 0 1 1 0 0

prstamos

125 1 1 11 1 01 -82 - 1 01 0 01 0 43 0 1 0 10 1 1 Multiplicacin: 13 x 11 143 1 10 1 x 10 1 1 1 10 1 1101 1 10 1 . 1 0 00 1 1 11 1 0 10 0 01 1 1 11 1 1 0 11 1 00 11 10 0 11 11 11 0

Divisin: 81 3 6 27 21 21 0

Ahora bien, cuando un programa necesita almacenar un valor en la memoria, ste programa usa slo una pequea porcin de esta memoria; de hecho, y esto es vlido para la mayora de los lenguajes de programacin, los programas deben reservar una cantidad especfica de estas casillas para cada valor, adems deben identificar a ese grupo de casillas y, por ltimo, deben de algn modo saber qu clase de dato se almacena: numrico, alfanumrico u otro.
A PROPSITO Dado que cada casilla de la memoria almacena slo un bit, se ha convenido en denominar a las casillas tambin bits.

Los nmeros naturales pueden ser almacenados directamente en su representacin binaria. Por ejemplo, el nmero 15410 se almacena como 100110102, por lo que ocupa 8 bits. Luego, si un programa necesita almacenar este nmero, puede reservar un byte de 8 bits reservando
Ing. Jos Ricardo Vargas

Programacin con Delphi

Pag. 1-8

Cap.1 : Principios Digitales

8 casillas consecutivas de la memoria. Pero un byte de 8 bits tiene una capacidad limitada de almacenamiento: est limitado a almacenar valores desde el 000000002 (=010) hasta el 111111112 (=25510) y todos los nmeros intermedios entre ellos, es decir: 0 154
0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0

letra A se almacena como 01000001 y la z como 01111010. Las cadenas de caracteres se almacenan como bytes consecutivos uno para cada letra que representan el cdigo de cada una. La longitud de la cadena puede estar determinada por varias condiciones, como la presencia de un carcter especial que la indique o que indique su fin.

1.11 Almacenamiento de nmeros

1 1 1 1 1 1 1 1 255 Entonces qu sucede si se necesita almacenar un nmero natural mayor que 255 y se pretende utilizar el byte anterior? Pues no se puede, ya que un nmero mayor que 255 tendr una representacin binaria con un nmero de bits superior a ocho; si se intenta llevar a cabo el almacenamiento de tal valor en este byte, se produce una condicin llamada sobreflujo overflow y su efecto es generalmente perjudicial cuando ste se produce durante la ejecucin de un programa. Para evitarlo, el programador debe prever, aunque sea a grosso modo, los valores mximos que alcancen los valores con el fin de reservar la cantidad de bits adecuada. En trminos de lenguajes de programacin, ello se realiza mediante el uso de tipos de datos con los que diferencian, no slo aquellos de distinta naturaleza que los nmeros naturales como los caracteres sino tambin aquellos con la necesidad de una cantidad mayor o menor de bits para su almacenamiento. Del ejemplo anterior puede deducirse que una variable de N bits tiene la capacidad de almacenar nmeros naturales entre cero y 2N-1. Por otra parte, los lenguajes de programacin ofrecen tipos de datos para el almacenamiento de nmeros naturales o enteros, generalmente con un nmero de bits igual a ocho o a un mltiplo de 8, en cuyo caso sus capacidades son: para N = 8 (byte), cap. = 28-1 = 255 para N = 16 (word), cap. = 216-1 = 65.535 para N = 32 (doubleword), cap. = 232-1 = 4.294.967.295
En un byte dado, algunos bits tienen una denominacin especial. As, el bit de menor peso el que est ubicado en el extremo derecho del byte se denomina bit menos significativo o lsb por su denominacin en ingls: least significant bit. Igualmente, el bit de mayor peso el ubicado en el extremo izquierdo del byte se denomina bit ms significativo o msb por most significant bit, como se muestra: msb lsb

negativos
El almacenamiento de nmeros enteros positivos o negativos se puede llevar a cabo de varias maneras. Aqu se mencionarn cuatro: sesgado, signo-magnitud, complemento a uno y complemento a dos.

1.11.1 Sesgado
Tambin conocido como Exceso, Polarizacin y en ingls biased, consiste en restar automticamente una cantidad fija a la representacin de un nmero positivo con el fin de que represente a uno negativo. Por ejemplo, suponga un byte destinado a almacenar nmeros enteros empleando sesgado. Un byte almacena nmeros positivos entre 0 y 255, pero si a cada uno de estos valores se le resta 127 nmero denominado bias en ingls, se tiene que este byte representar valores entre -127 y 128. Generalmente este sesgado es igual a la mitad de la capacidad mxima de almacenamiento del byte. As, se pueden construir los siguientes rangos de almacenamiento: para N = 8 (byte): -127...128 para N = 16 (word): -32767...32768 para N = 32 (doubleword): -2.147.483.647... 2.147.483.648

1.11.2 Signo Magnitud


Consiste en utilizar un bit generalmente el msb para representar el signo del nmero formado por el resto de los bits. As:
N = bn +

A PROPSITO

b .2
i i =0

n 1

1.10 Almacenamiento de caracteres


El almacenamiento de caracteres se lleva a cabo mediante el almacenamiento directo del nmero natural que corresponde al cdigo del carcter, que en la mayora de los casos se trata de los cdigos ASCII y ANSI de 8 bits o el UNICODE de 16 bits. As, segn el cdigo ASCII, la
Programacin con Delphi

donde bn es cero para nmeros positivos y uno para nmeros negativos y n es el nmero de bits. As, por ejemplo: 100101012 = -2110 ya que msb=1 y 00101012 = 2110 Si se utilizan bytes de 8 y 16 bits con este mtodo, se obtienen los siguientes rangos: para N=8 (1)11111112 = -12710 (0)11111112 = 12710 rango = -127..127 para N=16 (1)1111111111111112 = -3276710 (0)1111111111111112 = 3276710
Ing. Jos Ricardo Vargas

Cap.1: Principios Digitales

Pag. 1-9

rango = -32767..32767 Observe que el bit de signo se ha encerrado en parntesis. Esto slo se ha hecho para indicarlo, pero no es habitual.

1.11.3 Complemento a uno


En este esquema los nmeros positivos tienen una representacin igual a los nmeros naturales pero los negativos se forman mediante el cambio de ceros a unos y de unos a ceros del correspondiente positivo. As, por ejemplo, el nmero -1310 quedara almacenado como 111100102, ya que 1310 = 000011012. Por supuesto, y como se mencion en 1.9, debe saberse qu clase de dato se almacena en un byte, a fin de interpretar correctamente su contenido. Por ejemplo, observe cmo se interpreta el byte 10011001 segn los cuatro modos de almacenamiento vistos hasta ahora: Nmero natural: 10011001 15310 = 128+16+8+1 Sesgado: 10011001 2610, ya que 26 = 153 - 127 Signo-magnitud: 10011001 -2510 ya que 000110012 = 2510 Complemento a uno: 10011001 -10210 ya que 10011001 es el complemento a uno de 01100110 = 10210 La representacin de complemento a uno facilita la resta de nmeros binarios ya que sta se lleva a cabo sumando al minuendo, el complemento a uno del sustraendo, con la especial precaucin de que si se produce un overflow, los bits de este overflow se sumen al lsb de la diferencia. Por ejemplo:
117 -45 72 01110101 00101101 01001000 01110101 + 11010010 1 01000111 +1 01001000

Al igual que con el esquema anterior, la representacin de complemento a dos proporciona un mtodo para efectuar restas binarias con operaciones de sumas, pero en este caso se toma la precaucin de desechar el bit de overflow que pudiera presentarse.

1.12 Almacenamiento de nmeros reales


El almacenamiento de nmeros reales plantea el desafo de almacenar, con una cantidad determinada y finita de bits, un conjunto infinito de nmeros. Para enfrentar este problema se han propuesto algunos mtodos de representacin, habindose convenido en utilizar el esquema de punto flotante, el cual permite el almacenamiento de un vasto conjunto de nmeros reales con la preservacin de cifras significativas aun siendo estos mayores o menores que 1. Un sistema de punto flotante se caracteriza por cuatro parmetros: un nmero base , una cantidad de dgitos p y un rango de exponentes emin y emax. As, cada nmero x en punto flotante tiene el valor

x = m e

El nmero m se denomina mantisa o significando y est formado por los dgitos d1.d2 d3 .... dp donde cada di es un dgito que cumple con 0 di < . El nmero e es un entero que toma valores entre emin y emax.

Ejemplo 1-1
El conocido sistema de notacin cientfica es un sistema de punto flotante que utiliza =10. Un nmero como 123.456 se puede expresar en este sistema como 1.23456 102 o como 0.123456 103 o como 0.0123456 104

donde 11010010 es el complemento a uno de 00101101 y 1 es el bit de overflow.

1.11.4 Complemento a dos


Se obtiene de sumar 1 al complemento a uno del nmero y se define como el nmero que sumado al original de N bits, produce 2N. Con esta representacin se logra eliminar la suma del bit de overflow que puede resultar de la aplicacin del mtodo anterior. Por ejemplo, tomando los nmeros del ejemplo anterior y de nuevo utilizando 8 bits, se tiene: 4510 = 001011012 Su complemento a 1 es: 11010010 Al sumarle 1 se tiene: 11010011, luego
117 - 45 72 = 01110101 + 11010011 01001000

Dado que un nmero real puede tener varias representaciones en un mismo sistema de punto flotante por ejemplo, 3.14 puede ser representado como 3.14100 o como 0.314101, generalmente, el exponente y la mantisa se ajustan para que se cumpla que d1 0. A este ajuste se le conoce como normalizacin y su propsito es proporcionar una representacin nica de un mismo nmero real en un mismo sistema de punto flotante. As, las nicas representaciones en notacin cientfica normalizada de 3.14 y 123.456 seran 3.14100 y 1.23456102. Para almacenar nmeros reales, los computadores utilizan esquemas de punto flotante en binario. Para ello forman bytes con estructuras similares a la siguiente:
s e M

donde: - s: un bit para el signo del nmero: 0 positivo, 1 negativo. - e: exponente. Se almacena como un nmero entero sesgado. - m: mantisa. Se almacena como un nmero binario fraccionario. Puede estar normalizado.
Ing. Jos Ricardo Vargas

Programacin con Delphi

Pag. 1-10

Cap.1 : Principios Digitales

Ejemplo 1-2
Considere un sistema que utiliza =2, un byte de 1 bit para el signo, 7 para el exponente almacenado como nmero natural y 16 para la mantisa no normalizada, y que en un momento dado contiene la siguiente informacin: 0 1000011 1001010100001000

para enteros y otro para nmeros en punto flotante. Generalmente, al programador no le concierne esta diferencia excepto en casos muy especficos.

1.13 La Norma IEEE 754


Con el propsito de facilitar la portabilidad de programas entre distintos sistemas de computacin y alentar el desarrollo de aplicaciones cientficas, el IEEE Institute of Electrics and Electronics Engineers propuso un conjunto de normas para los formatos y las operaciones aritmticas de los nmeros almacenados en el sistema binario tanto para nmeros enteros como para nmeros en punto flotante. Esta norma, llamada Norma IEEE 754, es aceptada actualmente en la industria y se adhieren a ella los fabricantes de procesadores como Intel y Motorola. La norma especifica adems, los valores que significan algunas combinaciones especiales de bits y cmo se representan valores como el cero y el . En este estndar, algunas especificaciones de formato son: Los nmeros enteros se almacenan en bytes de 16, 32 o 64 bits, y en representacin de complemento a dos. Los nmeros en punto flotante emplean base 2, un bit de signo, una zona de bits para exponente con sesgado y una zona de bits para la mantisa, almacenados como fraccin binaria, normalizada o no. Las cadenas de caracteres se pueden tratar como secuencias contiguas de bytes, con longitudes de hasta 2321 bytes. La siguiente lista muestra un resumen de estos: - Entero de dos bytes (integer):
15 0 Complemento a dos

El primer bit el msb es cero, por lo que el nmero es positivo. los siguientes 7 bits representan al nmero 67 ya que 67 = 120 + 121 + 126 pero, por ser un nmero entero sesgado, a ste se le resta 64, por lo que el exponente es 6764=3. Los 16 bits restantes representan al nmero 1.164306640625, ya que:

1.16430664 0625 =

1 1 1 1 1 + + + + 2 0 2 3 2 5 2 7 2 12

Entonces el nmero almacenado es: 3 1.164306640625 2 = 9.314453125

Cuando una mantisa binaria est normalizada, su bit mas significativo es siempre 1, por lo que no es necesario almacenarlo sino asumirlo, ganndose as un bit ms para esta mantisa. A ese bit se lo conoce como bit escondido hidden bit. Es importante saber cundo un sistema utiliza este mecanismo pues la interpretacin de un byte resulta diferente.

Ejemplo 1-3
Considere el sistema y el byte del ejemplo anterior, pero asumiendo un bit escondido: 0 1000011 1001010100001000

El signo y el exponente son iguales pero la mantisa se interpreta como 1.1 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 , cuyo valor decimal es:

1.5821533203125 =

1 20

1 21

1 24

1 26

1 28

1 213

Entonces el nmero almacenado es: 3 1.5821533203125 2 = 12.6572265625

- Entero corto (shortint):


31 0 Complemento a dos

Todos los parmetros mencionados para el almacenamiento de nmeros en punto flotante la base, el modo de representacin de la mantisa y el exponente, el sesgado, el bit escondido, etc. cambian segn el sistema de computacin. Actualmente, los procesadores estn en capacidad de manipular varios conjuntos de punto flotante., incluso, un solo lenguaje de computacin ofrece varios de estos conjuntos. Ms adelante se vern los que ofrece Object Pascal y sus caractersticas. La aritmtica utilizada para operar nmeros en punto flotante difiere de la utilizada para nmeros enteros y es un poco ms compleja, por lo que extenderse en ese tema escapa del alcance de este texto. Pero se puede sealar que los procesadores actuales vienen con dos conjuntos de instrucciones para las operaciones aritmticas: uno
Programacin con Delphi

- Entero de dos bytes (longint):


63 0 Complemento a dos

- Punto Flotante de precisin simple:


31 s 63 S Exp. 23 Exp. Mantisa 51 Mantisa 0 0

- Punto Flotante de doble precisin :

En las figuras anteriores, s es el bit de signo y Exp es el byte de exponente de punto flotante. Los dos formatos de punto flotante mostrados no son los nicos que menciona la norma. Existen tambin otros
Ing. Jos Ricardo Vargas

Cap.1: Principios Digitales

Pag. 1-11
X 00000000

dos, llamados ampliados que se interpretan como extensiones de los dos nombrados pero que no tienen longitudes en bits definidas pues permiten que los sistemas las establezcan segn su conveniencia.
FORMATO
Parmetro Longitud (bits) Exponente (bits) Mantisa (bits) Polarizacin Rango (base 10) Simple 32 8 23 127 10638 Simple ampliado 43 11 31 No esp. No esp. Doble 64 11 52 1023 106308 Doble ampliado 79 15 63 No esp. No esp.

fb0

62E-126(0.fb)

En estas figuras, fb significa fraccin binaria, x significa 0 1 y E significa exponente. El penltimo valor es el de cualquier nmero real normal representado en punto flotante de simple precisin y el ltimo representa un nmero no normalizado. Observe en este ltimo caso, que la polarizacin es de 126. Observe tambin que a la fraccin binaria del nmero real normal, se le agrega uno el bit escondido.

1.14 Lgica formal


En un contexto de lgica formal, se afirma que una oracin es un predicado o una proposicin si, entre otras cosas, posee un valor de certidumbre, que puede ser slo Cierto o Falso. Partiendo de esta propiedad y slo de esta, se pueden construir predicados ms complejos uniendo predicados simples entre s mediante operaciones lgicas, de igual modo al que se usa para construir expresiones algebraicas complejas combinando operandos mediante operadores aritmticos. El valor de certidumbre de dichos predicados depende naturalmente de las operaciones lgicas que se apliquen. Las tres operaciones lgicas elementales son: AND, OR y NOT y su funcionamiento se describe a continuacin.

Tabla 1-6 Formatos ampliados IEEE 754

Dada una localidad de memoria destinada a almacenar una palabra en punto flotante, sta puede contener algunas combinaciones de bits que pueden producir valores que no se pueden interpretar de las maneras habituales, tales como: Cero negativo: un byte con todos los bits iguales a cero, excepto el bit de signo que es igual a uno. Este valor no afecta la interpretacin real del cero en expresiones aritmticas pero ocurre que en algunas ocasiones se imprime como -0.00. Mas o menos infinito: es un byte con todos los bits del exponente iguales a uno y los de la mantisa, iguales a cero. Indica problemas relacionados con overflow. NaN del ingls Not a Number : es un byte con todos los bits del exponente iguales a uno y los de la mantisa distinto de cero. Indica la intencin de operaciones no vlidas, variables sin inicializar y otros problemas relacionados con valores no numricos. Nmero no normalizado: es un byte con todos los bits del exponente iguales a cero y una mantisa distinta de cero que no cumple con el requisito de normalizacin. Puede ser negativo o positivo. Indica problemas relacionados con overflow de exponentes y puede aparecer en expresiones aritmticas normales.

1.14.1 AND lgico


Es un operador binario en el sentido de que se aplica sobre dos operandos para formar un predicado compuesto cuyo valor de certidumbre es Cierto si y slo si los dos predicados operandos tiene el valor Cierto. Sean A y B dos predicados cualesquiera, el valor de certidumbre de un predicado formado por estos dos puede mostrarse mediante una tabla de certidumbre o tabla de verdad, que muestra todas las combinaciones de certidumbre de los predicados originales y su efecto en el predicado compuesto: A
F F C C

B
F C F C

A AND B
F F F C

Ejemplo 1-4
Considere el formato simgle de la Norma IEEE. Los valores que ste puede representar son: 31
0 1 0 1 F se entiende por FALSO y C por CIERTO o verdadero.

Ejemplo 1-5
Considere los siguientes predicados: P1, P2 y P3:
P1 = A es una letra P2 = 100 es mayor que 50 P3 = 50 es mayor que 100

23
00000000 00000000 11111111 11111111 11111111 0<E<255 00000000000000000000000 00000000000000000000000 00000000000000000000000 00000000000000000000000

0 0 -0

- NaN 62
E-127

Sus valores de certidumbre son, evidentemente: P1=Cierto, P2=Cierto y P3=Falso. Luego, construir un predicado compuesto mediante el operador AND sera algo como: P1 AND P2 (1.fb) lo que equivaldra a decir

x
X

0 fb

Programacin con Delphi

Ing. Jos Ricardo Vargas

Pag. 1-12 A es una letra y 100 es mayor que 50 cuyo valor de certidumbre es Cierto. Otro predicado compuesto podra ser P1 AND P3, que equivaldra a decir: A es una letra y 50 es mayor que 100 cuyo valor de certidumbre es, evidentemente, Falso, no slo por que lo indique el sentido comn sino porque as est indicado en la tabla de certidumbre de la operacin AND. Observe, por cierto, que el operador y no forma parte de ninguno de los dos predicados. Cuando dos predicados se unen con un operador AND, se dice que forman una conjuncin.

Cap.1 : Principios Digitales

A
0 0 1 1

B
0 1 0 1

NOT A
1 1 0 0

A AND B
0 0 0 1

A OR B
0 1 1 1

Ejemplo 1-6
Para comprender por qu 42 AND 54 = 34 se debe entonces recurrir a la representacin binaria de la operacin:
42 = 54 = 34 = 1 1 1 0 1 0 1 0 0 0 1 0 1 1 1 0 0 0

1.14.2 OR lgico
Es otro operador, igualmente binario, que permite la construccin de predicados compuestos cuyo valor de certidumbre es Cierto si cualquiera de los predicados operandos o todos tienen el valor Cierto. Es decir, si A y B son dos predicados, entonces: A
F F C C

Observe que slo en las columnas sombreadas se produce un 1 como resultado de la operacin AND aplicado a los bits correspondientes en ambos nmeros. De igual manera se puede verificar que 42 OR 50 = 58
42 = 50 = 58 = 1 1 1 0 1 1 1 0 1 0 0 0 1 1 1 0 0 0

B
F C F C

A OR B
F C C C

Observe en la tabla anterior que el operador OR produce un predicado de valor Falso slo cuando todos los predicados son tambin de valor Falso, de lo contrario, producir entonces predicados de valor Cierto. Dos predicados unidos mediante un operador OR, se dice que forman una disjuncin.

Las operaciones lgicas AND y OR pueden ser representadas por circuitos elctricos si se asocia el resultado de la operacin al encendido de un bombillo conectado a una fuente de poder y a una distribucin de interruptores, de manera que 1 encendido y 0 apagado. As:
A B

A PROPSITO

El bombillo se enciende si A y B estn conectados, es decir: 1 = A AND B

1.14.3 NOT lgico


El operador NOT lgico no es un operador binario pues slo se aplica a un operando y su efecto es simplemente el de cambiar el valor de certidumbre del operando: si es Cierto lo cambia a Falso y si es Falso, lo cambia a Cierto. Entonces, si A es un predicado cualquiera, se tiene: A
F C

El bombillo se enciende si se conecta A o B o ambos, es decir: 1 = A OR B

NOT A
C F

Preguntas de repaso
1. 2. 3. Qu es un sistema de numeracin? Cmo se forma? Qu papel juega la base de un sistema de numeracin? En qu consiste la representacin posicional de un sistema de numeracin? Conoce ud. algn sistema de numeracin que no sea posicional? Puede la base de un sistema de numeracin ser uno de los dgitos del mismo? Puede un sistema de numeracin tener cualquier base? Qu restricciones se aplican a la seleccin de la base?
Ing. Jos Ricardo Vargas

1.15 Lgica digital


Los conceptos explorados en los prrafos anteriores pueden ser aplicados tambin a nmeros si se aplican a la representacin binaria de stos, asociando el valor Cierto con el nmero 1 y Falso con 0. En estas condiciones, pueden aplicarse los operadores lgicos a valores numricos sabiendo que la operacin se aplica a cada uno de los bits correspondientes de la representacin binaria de los nmeros. Las operaciones lgicas aplicadas a ceros y unos pueden resumirse as:

4. 5.

Programacin con Delphi

Cap.1: Principios Digitales

Pag. 1-13

6. 7.

8. 9. 10. 11.

12.

13.

14.

15. 16.

17. 18. 19. 20.

21. 22.

23.

24. 25.

Qu ventaja cree usted que tiene el sistema de numeracin de base 12 sobre el sistema decimal? Cules son los sistemas de numeracin ms utilizados? Por qu son precisamente esos los que ms se utilizan? Qu es el sistema binario? Cul es su base? De cuntos dgitos est formado? Cmo se escriben nmeros fraccionarios en el sistema binario? Y nmeros negativos? Qu es el sistema octal? Cul es su base? De cuntos dgitos est formado? Qu es el sistema hexadecimal? Cul es su base? De cuntos dgitos est formado? Qu valor tienen los smbolos A, B, C, D, E y F? Observe la Tabla 2-2. Cuntos bits cree ud. que son necesarios para representar un nmero decimal cualquiera? Cmo se convierten nmeros de cualquier base a decimal? Debe separarse la conversin para la parte fraccionaria de los nmeros? En qu base se efectan las operaciones? Cmo se convierten nmeros de decimal a cualquier base? Debe separarse la conversin para la parte fraccionaria de los nmeros? Describa un algoritmo para convertir nmeros entre los sistemas binario, octal y decimal. Es posible convertir nmeros de un sistema cualquiera, distinto al decimal, en otro cualquiera, tambin distinto al decimal? Qu restricciones se aplican a las operaciones involucradas? Qu es el cdigo BCD? En qu se diferencia del sistema de numeracin binario? Qu es el cdigo ASCII? Cmo se conoce el cdigo ASCII de una letra? Es igual el cdigo ASCII de un dgito a la representacin binaria del mismo? Qu son los cdigos ANSI y Unicode? Dnde se encuentran generalmente? Cuntos caracteres representan cada uno? Resuma las tablas de sumar, restar, multiplicar y dividir en binario. Qu hacen las operaciones shl y shr? Qu sucede con los bits que se pierden? Es siempre cero el bit que se agrega? Cul esquema se usa para almacenar nmeros naturales? Qu sucede si se sobrepasa la capacidad de almacenamiento de una variable? Cul esquema se usa para almacenar caracteres? Y para almacenar una cadena de caracteres? Cules son los tres esquemas de almacenamiento de nmeros enteros? Enumere las caractersticas de cada uno de ellos.

26. Cmo se calcula el complemento a uno de un nmero binario? Cmo se lleva a cabo la resta binaria usando esta representacin? 27. Cmo se calcula el complemento a dos de un nmero binario? Cmo se lleva a cabo la resta binaria usando esta representacin? En qu se diferencia del mtodo que usa complemento a uno? 28. Cmo se forma un sistema de representacin de punto flotante? De qu partes se compone un nmero en esta representacin? 29. Qu representa la mantisa de un nmero en punto flotante? Con cules esquemas puede estar representada? 30. Qu representa el exponente de un nmero en punto flotante? Con cules esquemas puede estar representado? 31. En qu consiste la normalizacin de un sistema de punto flotante? Qu finalidad tiene? Qu restricciones cree ud. que aade la normalizacin a un sistema de punto flotante? 32. En qu consiste la polarizacin del exponente de un sistema de punto flotante? Qu beneficio trae al sistema? Cree ud. que el monto de la polarizacin e siempre el mismo? 33. Qu es el estndar IEEE-754? A qu se aplica? 34. Resuma las caractersticas de los sistemas de almacenamiento sealados en la norma IEEE-754. 35. Qu son los formatos ampliados de la norma IEEE754? A qu tipo de sistema de representacin numrica se aplica? 36. Cmo se representan, segn la norma IEEE-754, los valores cero e infinito? 37. Qu es un NaN? Con cules operaciones se asocia? 38. Qu es una proposicin? Qu es un valor de certidumbre? 39. Cules son las tres principales operaciones lgicas? Con qu tipo de operandos se aplican? Cul es el efecto de cada una de ellas? 40. Cul es el efecto de las operaciones lgicas cuando se aplican a nmeros?

Problemas propuestos
1. Escriba en notacin ampliada los siguientes nmeros: 986510 16356 211213 10001012 76.02410 235.18 110.012 -2.4527 Convierta los siguientes nmeros binarios en sus equivalentes decimales: 11 101 11011 1000 101010 -10.001 1111111 0.1111 101.111 -1.001001

2.

Programacin con Delphi

Ing. Jos Ricardo Vargas

Pag. 1-14

Cap.1 : Principios Digitales

3.

4.

5.

6.

7.

8.

9.

10. 11. 12. 13. 14. 15.

Convierta los siguientes nmeros octales en sus equivalentes decimales: 11 37 152 1050 77766 10.001 0.01235 -123.456 101.111 -56.4312 Convierta los siguientes nmeros hexadecimales en sus equivalentes decimales: 11 101 ABC 1A2B FFFF 10.ABC 100.AB FAE.2C 1D9.713 0.001DF Convierta los siguientes nmeros decimales en sus equivalentes hexadecimales: 15 116 9375 1070 101010 16.0901 9734.12 0.1234 101.999 21.00051 Convierta los siguientes nmeros decimales en sus equivalentes octales: 765 9372 281 884 9971 1070 12.34 0.9876 508.1 100.92 Convierta los siguientes nmeros decimales en sus equivalentes binarios: 15 116 9375 1070 101010 1070 12.34 0.9876 508.1 100.92 Convierta los siguientes nmeros binarios en sus equivalentes octales y hexadecimales: 11 101 11011 1000 101010 10.001 1111111 0.1111 101.111 1.001001 Convierta los siguientes nmeros decimales en sus equivalentes BCD: 15 116 9375 1070 101010 1070 12.34 0.9876 508.1 100.92 Convertir 0.3910 a binario. Convertir 0.1010 a binario. Cuntos bits son necesarios para obtener una representacin perfecta? Efecte las siguientes sumas en binario: 254+198 1003+549 15+116 1070+2345+32 Efecte las siguientes restas en binario: 254-198 1003-549 116-19 2345-1070 Efecte las siguientes multiplicaciones en binario: 25432 100335 16319 234536 En un byte de 8 bits almacene la representacin binaria del nmero 0.1010. Luego, y utilizando aritmtica binaria, multiplique este nmero por 1010. Explique el resultado. Construya las tablas de sumar y restar en base 16. Sea X una variable que almacena el numero natural 45. Cul es el valor de las operaciones X shr 2 y X shl 3? Desarrolle una expresin para determinar la cantidad de bits que tendr un nmero decimal de n dgitos convertido en binario.

19. Dado un nmero decimal entero de N dgitos, cuntos dgitos son necesarios para expresar el mismo nmero en base 8, 12 y 16? 20. Demostrar que la operacin nmero shl 1, aplicada a un nmero natural N veces, equivale a multiplicar dicho nmero por 2N y que la operacin nmero shr 1, aplicada a un nmero natural N veces, equivale a dividir dicho nmero por 2N. 21. Demostrar que en un byte de N bits, X shr N = 0 22. Desarrolle un procedimiento para transformar un nmero fraccionario expresado en base decimal a su representacin en binario. Evale las posibilidades y decida cul puede ser una solucin cuando el nmero no tenga una representacin binaria finita. 23. Encuentre una expresin en base decimal para modificar el valor de un bit individual de un nmero cualquiera expresado tambin en decimal. 24. Un programa de control dispone de una sola variable un byte de 8 bits para almacenar el estado de 6 interruptores simples, por lo que utilizar la representacin binaria de un nmero para ello. Cmo se puede modificar cada uno de los primeros 6 bits mediante operaciones en sistema decimal? 25. Qu representa el siguiente valor: 0010101101011011000101001101000 si es uno o varios a) nmeros naturales de 8 bits, b) nmeros enteros con signo, en complemento a uno o en complemento a dos, de ocho bits c) caracteres, d) nmeros de tipo single IEEE? 26. Desarrolle una expresin numrica que transforme una letra minscula del cdigo ASCII en su equivalente mayscula. 27. Exprese las siguientes constantes como nmeros de tipo single de la norma IEEE: : 3,14159 26535 89793 23846 2643... e: 2,71828 18284 59045 23536 0287... : 0,57721 56649 01532 86060 6512... 28. Considere un sistema de punto flotante con las siguientes caractersticas: =2, 1 bit de signo, tres bits de exponente con polarizacin y cuatro bits de mantisa normalizada. Cuntos y cules son los nmeros reales que pueden ser representados con este sistema? 29. Efecte las siguientes operaciones binarias: 254 AND 198 1003 OR 549 116 AND 19 30. Desarrolle una expresin que, dados la base, el nmero de dgitos y el rango de exponente de un sistema de punto flotante, indique cuntos nmeros reales se pueden representar en ese sistema. Considere que no hay normalizacin en el mismo. 31. Repita el ejercicio anterior considerando que hay normalizacin en el sistema.

16. 17.

18.

Programacin con Delphi

Ing. Jos Ricardo Vargas

Cap.1: Principios Digitales

Pag. 1-15

32. Complete los ejercicios anteriores con una expresin que indique la cantidad de bits necesarios para construir un byte que represente nmeros reales en se sistema. Considere los mismos argumentos de las anteriores.

Programacin con Delphi

Ing. Jos Ricardo Vargas

También podría gustarte