571
Tema 1: Introducción al curso

Tema 1: Introducción al curso - UJI

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tema 1: Introducción al curso - UJI

Tema 1: Introducción al curso

Page 2: Tema 1: Introducción al curso - UJI

http://pixabay.com/es/iphone-tel%C3%A9fono-celular-smartphone-37856/ http://pixabay.com/es/tablet-ipad-pantalla-internet-184888/ http://pixabay.com/es/ordenador-port%C3%A1til-port%C3%A1til-m%C3%B3viles-154091/

Page 7: Tema 1: Introducción al curso - UJI

En este curso

• Codificación: • Enteros positivos

• Enteros negativos

• Reales positivos y negativos

• Caracteres alfanuméricos

http://i.ytimg.com/vi/9bZkp7q19f0/maxresdefault.jpg

Page 8: Tema 1: Introducción al curso - UJI

Ejemplo de la importancia de la codificación

http://i.ytimg.com/vi/9bZkp7q19f0/maxresdefault.jpg

Page 9: Tema 1: Introducción al curso - UJI

Organización del curso • Semana 1:

• Introducción a los sistemas de numeración

• Semana 2: • Sistema de numeración binario

• Semana 3: • Sistema de numeración hexadecimal

• Semana 4: • Codificación de enteros positivos

• Semana 5: • Codificación de enteros negativos

• Semana 6: • Codificación de números reales

• Semana 7: • Codificación de caracteres alfanuméricos

• Semana 8: • Examen final

Page 10: Tema 1: Introducción al curso - UJI

Evaluación del curso • Cada semana habrá una prueba de conocimientos:

• Se puede repetir infinitas veces.

• Nota final, la máxima.

• En total 7 pruebas

• En la semana 8: Examen final • Se podrá repetir un número finito de veces.

• Nota del curso: • Examen final * 0.5 + media pruebas de cada semana *

0.5

Page 12: Tema 1: Introducción al curso - UJI

• Base: • Número de símbolos usados por el sistema de

numeración.

• El sistema decimal tiene base 10: • Símbolos: 0,1,2,3,4,5,6,7,8,9

Page 13: Tema 1: Introducción al curso - UJI

• ¿Cómo funciona el sistema de numeración decimal?

• Supongamos N=4 • N es el número de dígitos que podemos usar

0 0 0 0 0

Page 14: Tema 1: Introducción al curso - UJI

0 0 0 1 1

0

2

Page 15: Tema 1: Introducción al curso - UJI

0 0 0 2 2

1

3

Page 16: Tema 1: Introducción al curso - UJI

0 0 0 9 9

8

Page 17: Tema 1: Introducción al curso - UJI

0 0 0 ¿? 10

9

Page 18: Tema 1: Introducción al curso - UJI

0 0 1 0 10

1 2

0

Page 19: Tema 1: Introducción al curso - UJI

0 0 1 1 11

2 2

0 0

Page 20: Tema 1: Introducción al curso - UJI

0 0 9 9 99

8 8

Page 21: Tema 1: Introducción al curso - UJI

0 0 ¿? ¿? 100

9 9

Page 22: Tema 1: Introducción al curso - UJI

0 1 0 0 100

1 1 2

0

Page 23: Tema 1: Introducción al curso - UJI

9 9 9 9 9999

8 8 8 8

Page 24: Tema 1: Introducción al curso - UJI

0 0 0 0 10000

1 1 1 1

¿?

Page 25: Tema 1: Introducción al curso - UJI

• Con N dígitos, es posible representar el rango:

[ 0, 10N -1]

• Con N=4 dígitos:

[0000, 9999]

Page 26: Tema 1: Introducción al curso - UJI

Los sistemas de numeración posicionales

Page 27: Tema 1: Introducción al curso - UJI

• En un sistema de numeración posicional:

• Cada dígito posee un valor que depende de su posición relativa y del valor del símbolo.

• Existen un número finito de símbolos = base

Page 28: Tema 1: Introducción al curso - UJI

• El sistema de numeración Romano:

• No es posicional

• Cuando surge la necesidad de representarnuevas cantidades es necesario añadir mássímbolos:• Número de símbolos no es fijo

• Dificulta las matemáticas

Page 29: Tema 1: Introducción al curso - UJI

• Conversión de cualquier base (xb) a decimal (x10): números enteros

• xb[p] -> valor decimal del símbolo situado en la posición p-ésima

Page 30: Tema 1: Introducción al curso - UJI

Ejemplo:

75410

• b=10• N=3• p=2,1,0

xb[2] = 7xb[1] = 5xb[0] = 4

Page 31: Tema 1: Introducción al curso - UJI

Ejemplo:

75410 =

= xb[2]*102 + xb[1]*101 + xb[0]*100

Page 32: Tema 1: Introducción al curso - UJI

Ejemplo:

75410 =

= xb[2]*102 + xb[1]*101 + xb[0]*100

= 7*102 + 5*101 + 4*100

Page 33: Tema 1: Introducción al curso - UJI

Ejemplo:

75410 =

= xb[2]*102 + xb[1]*101 + xb[0]*100

= 7*102 + 5*101 + 4*100

= 700 + 50 + 4

Page 34: Tema 1: Introducción al curso - UJI

• Conversión de cualquier base (xb) a decimal (x10): números reales

Page 35: Tema 1: Introducción al curso - UJI

Ejemplo

305,4510

• b = 10

• N+ = 3

• N- = 2

• p = 2,1,0

• q = -1,-2

xb[2] = 3 xb[-1] = 4

xb[1] = 0 xb[-2] = 5

xb[0] = 5

Page 36: Tema 1: Introducción al curso - UJI

Ejemplo

305,4510 =

= xb[2]*102 + xb[1]*101 + xb[0]*100 +

xb[-1]*10-1 + xb[-2]*10-2

Page 37: Tema 1: Introducción al curso - UJI

Ejemplo

305,4510 =

= xb[2]*102 + xb[1]*101 + xb[0]*100 +

xb[-1]*10-1 + xb[-2]*10-2

= 3*102 + 0*101 + 5*100 +

4*10-1 + 5*10-2

Page 38: Tema 1: Introducción al curso - UJI

Ejemplo

305,4510 =

= xb[2]*102 + xb[1]*101 + xb[0]*100 +

xb[-1]*10-1 + xb[-2]*10-2

= 3*102 + 0*101 + 5*100 +

4*10-1 + 5*10-2

= 300 + 0 + 5 +

0,4 + 0,05

Page 39: Tema 1: Introducción al curso - UJI

Ejemplo3876,21310

• b = 10

• N+ = 4

• N- = 3

• p = 3,2,1,0

• q = -1,-2,-3

xb[3] = 3 xb[-1] = 2

xb[2] = 8 xb[-2] = 1

xb[1] = 7 xb[-3] = 3

xb[0] = 6

Page 40: Tema 1: Introducción al curso - UJI

Ejemplo

3876,21310 == xb[3]*103 + xb[2]*102 + xb[1]*101 + xb[0]*100 +

xb[-1]*10-1 + xb[-2]*10-2 + xb[-3]*10-3

Page 41: Tema 1: Introducción al curso - UJI

Ejemplo

3876,21310 == xb[3]*103 + xb[2]*102 + xb[1]*101 + xb[0]*100 +

xb[-1]*10-1 + xb[-2]*10-2 + xb[-3]*10-3

= 3*103 + 8*102 + 7*101 + 6*100 +

2*10-1 + 1*10-2 + 3*10-3

Page 42: Tema 1: Introducción al curso - UJI

Ejemplo

3876,21310 == xb[3]*103 + xb[2]*102 + xb[1]*101 + xb[0]*100 +

xb[-1]*10-1 + xb[-2]*10-2 + xb[-3]*10-3

= 3*103 + 8*102 + 7*101 + 6*100 +

2*10-1 + 1*10-2 + 3*10-3

= 3000 + 800 + 70 + 6 +

0,2 + 0,01 + 0,003

Page 43: Tema 1: Introducción al curso - UJI

• Rango de posibles valores dada una base b y número de dígitos N:

[0,bN-1]

Page 44: Tema 1: Introducción al curso - UJI

Ejemplos:

•Con b=3, N=5:

[0,bN-1] = [0,35-1] = [0,242]

Page 45: Tema 1: Introducción al curso - UJI

Ejemplos:

•Con b=7, N=4:

[0,bN-1] = [0,74-1] = [0,2400]

Page 46: Tema 1: Introducción al curso - UJI

• Bases más pequeñas necesitan más dígitospara representar los mismos números:

• Ejemplo, para representar el 70:• b=10, hacen falta 2 dígitos

• b=8, hacen falta 3 dígitos

• b=2, hacen falta 7 dígitos

Page 47: Tema 1: Introducción al curso - UJI

Tri: un sistema en base 3 para practicar

Page 48: Tema 1: Introducción al curso - UJI

• Sistema de base 3 (b=3):• A -> 0• B- > 1• G -> 2

Page 49: Tema 1: Introducción al curso - UJI

A A A A0

Page 50: Tema 1: Introducción al curso - UJI

A A A B1

G

A

Page 51: Tema 1: Introducción al curso - UJI

A A A G2

B

Page 52: Tema 1: Introducción al curso - UJI

A A B A3

BG

A

Page 53: Tema 1: Introducción al curso - UJI

A A B B4

GG

A A

Page 54: Tema 1: Introducción al curso - UJI

A A B G5

G

A B

Page 55: Tema 1: Introducción al curso - UJI

A A G A6

B

B

Page 56: Tema 1: Introducción al curso - UJI

AAGA3

• b = 3• N = 4• p=3,2,1,0

Xb[3] = 0 (el valor decimal del símbolo A es 0)Xb[2] = 0Xb[1] = 2Xb[0] = 0

A -> 0B -> 1G -> 2

Page 57: Tema 1: Introducción al curso - UJI

•AAGA3 == xb[3]*33 + xb[2]*32 + xb[1]*31 + xb[0]*30

A -> 0B -> 1G -> 2

Page 58: Tema 1: Introducción al curso - UJI

•AAGA3 == xb[3]*33 + xb[2]*32 + xb[1]*31 + xb[0]*30

= 0*33 + 0*32 + 2*31 + 0*30

A -> 0B -> 1G -> 2

Page 59: Tema 1: Introducción al curso - UJI

•AAGA3 == xb[3]*33 + xb[2]*32 + xb[1]*31 + xb[0]*30

= 0*33 + 0*32 + 2*31 + 0*30

= 0*27 + 0*9 + 2*3 + 0*3 = 0 + 0 + 6 + 0 = 610

A -> 0B -> 1G -> 2

Page 60: Tema 1: Introducción al curso - UJI

BGB3

• b = 3• N = 3• p=2,1,0

Xb[2] = 1Xb[1] = 2Xb[0] = 1

A -> 0B -> 1G -> 2

Page 61: Tema 1: Introducción al curso - UJI

•BGB3 == xb[2]*32 + xb[1]*31 + xb[0]*30

A -> 0B -> 1G -> 2

Page 62: Tema 1: Introducción al curso - UJI

•BGB3 == xb[2]*32 + xb[1]*31 + xb[0]*30

= 1*32 + 2*31 + 1*30

A -> 0B -> 1G -> 2

Page 63: Tema 1: Introducción al curso - UJI

•BGB3 == xb[2]*32 + xb[1]*31 + xb[0]*30

= 1*32 + 2*31 + 1*30

= 9 + 6 + 1= 16

A -> 0B -> 1G -> 2

Page 64: Tema 1: Introducción al curso - UJI

BBG,AB3

• b = 3• N+ = 3• N- = 2• p = 2,1,0• q = -1,-2

xb[2] = 1 xb[-1] = 0xb[1] = 1 xb[-2] = 1xb[0] = 2

A -> 0B -> 1G -> 2

Page 65: Tema 1: Introducción al curso - UJI

•BBG,AB3 == xb[2]*32 + xb[1]*31 + xb[0]*30 +

xb[-1]*3-1 + xb[-2]*3-2

A -> 0B -> 1G -> 2

Page 66: Tema 1: Introducción al curso - UJI

•BBG,AB3 == xb[2]*32 + xb[1]*31 + xb[0]*30 +

xb[-1]*3-1 + xb[-2]*3-2

= 1*32 + 1*31 + 2*30 +0*3-1 + 1*3-2

A -> 0B -> 1G -> 2

Page 67: Tema 1: Introducción al curso - UJI

•BBG,AB3 == xb[2]*32 + xb[1]*31 + xb[0]*30 +

xb[-1]*3-1 + xb[-2]*3-2

= 1*32 + 1*31 + 2*30 +0*3-1 + 1*3-2

= 1*9 + 1*3 + 2*1 + 0*1/3 + 1*1/9

A -> 0B -> 1G -> 2

Page 68: Tema 1: Introducción al curso - UJI

•BBG,AB3 == xb[2]*32 + xb[1]*31 + xb[0]*30 +

xb[-1]*3-1 + xb[-2]*3-2

= 1*32 + 1*31 + 2*30 +0*3-1 + 1*3-2

= 1*9 + 1*3 + 2*1 + 0*1/3 + 1*1/9

= 9 + 3 + 2 + 0 + 1/9

= 14.11111…10

A -> 0B -> 1G -> 2

Page 69: Tema 1: Introducción al curso - UJI

• BBG,AB3 == xb[2]*32 + xb[1]*31 + xb[0]*30 +

xb[-1]*3-1 + xb[-2]*3-2

= 1*32 + 1*31 + 2*30 +0*3-1 + 1*3-2

= 1*9 + 1*3 + 2*1 + 0*1/3 + 1*1/9

= 9 + 3 + 2 + 0 + 1/9

= 14.11111…10

= 14.110

A -> 0B -> 1G -> 2

Page 70: Tema 1: Introducción al curso - UJI

Bits y Bytes

Page 71: Tema 1: Introducción al curso - UJI

Bits y bytes

•Bits: elemento capaz de almacenar unúnico dígito en binario.

•Byte: 8 bits.

Page 72: Tema 1: Introducción al curso - UJI

Bits y bytes

Page 73: Tema 1: Introducción al curso - UJI

Bits y bytes

Page 74: Tema 1: Introducción al curso - UJI

Bits y bytes

• El fabricante: 8GB = 8*109 bytes

En realidad un poco menos: 7.843.344.384

• El Sistema operativo: ¿7.3GB?

Page 75: Tema 1: Introducción al curso - UJI

Bits y bytes

• El sistema operativo no sigue lasrecomendaciones del SI e interpretaerróneamente que 8GB son 8*230 bytes.• Es decir interpreta GB como GiB.

• ¿7.3GB?• 7.3 es aproximadamente 8*((109)/(230))

Page 76: Tema 1: Introducción al curso - UJI

Bits y bytes

•Capacidad de almacenamiento:• En bytes y sus múltiplos

•Velocidad de transmisión:• En bits y sus múltiplos

Page 78: Tema 1: Introducción al curso - UJI

• Es un sistema de numeración posicional.

• Dos símbolos 0, 1 (b=2).

• Representación de dos estados diferentes de una propiedad física.

Page 79: Tema 1: Introducción al curso - UJI

• ¿Cómo funciona el sistema de numeración binario?

• Supongamos N=4 • N es el número de dígitos que podemos usar

0 0 0 0 0

Page 80: Tema 1: Introducción al curso - UJI

0 0 0 1 1

0

Page 81: Tema 1: Introducción al curso - UJI

0 0 0 ¿? 2

1

Page 82: Tema 1: Introducción al curso - UJI

0 0 1 0 2

1

0

Page 83: Tema 1: Introducción al curso - UJI

0 0 ¿? ¿? 4

1 1

Page 84: Tema 1: Introducción al curso - UJI

0 1 0 0 4

1 1

0

Page 85: Tema 1: Introducción al curso - UJI

1 1 1 1 15

0 0 0 0

Page 86: Tema 1: Introducción al curso - UJI

• Con N dígitos, es posible representar el rango:

[ 0, 2N -1]

• Con N=4 dígitos:

[0, 15]

Page 87: Tema 1: Introducción al curso - UJI

El Sistema de numeración binario

De Binario a Decimal

Page 88: Tema 1: Introducción al curso - UJI

• Aplicar la fórmula:

• Con b=2

Page 89: Tema 1: Introducción al curso - UJI

Ejemplo:

001012

• b=2 • N=5 • p=4,3,2,1,0

xb[4] = 0 xb[1] = 0 xb[3] = 0 xb[0] = 1 xb[2] = 1

Page 90: Tema 1: Introducción al curso - UJI

Ejemplo:

001012 =

= xb[4]*24 + xb[3]*23 + xb[2]*22 + xb[1]*21 + xb[0]*20

Page 91: Tema 1: Introducción al curso - UJI

Ejemplo:

001012 =

= xb[4]*24 + xb[3]*23 + xb[2]*22 + xb[1]*21 + xb[0]*20

= 0*24 + 0*23 + 1*22 + 0*21 + 1*20

Page 92: Tema 1: Introducción al curso - UJI

Ejemplo:

001012 =

= xb[4]*24 + xb[3]*23 + xb[2]*22 + xb[1]*21 + xb[0]*20

= 0*24 + 0*23 + 1*22 + 0*21 + 1*20

= 0 + 0 + 1*4 + 0 + 1*1

= 4 + 1

= 510

Page 93: Tema 1: Introducción al curso - UJI

Ejemplo:

1102

• b=2 • N=3 • p=2,1,0

xb[2] = 1 xb[1] = 1 xb[0] = 0

Page 94: Tema 1: Introducción al curso - UJI

Ejemplo:

1102 =

= xb[2]*22 + xb[1]*21 + xb[0]*20

Page 95: Tema 1: Introducción al curso - UJI

Ejemplo:

1102 =

= xb[2]*22 + xb[1]*21 + xb[0]*20

= 1*22 + 1*21 + 0*20

Page 96: Tema 1: Introducción al curso - UJI

Ejemplo:

1102 =

= xb[2]*22 + xb[1]*21 + xb[0]*20

= 1*22 + 1*21 + 0*20

= 4 + 2 + 0

= 4 + 2

= 610

Page 97: Tema 1: Introducción al curso - UJI

El Sistema de numeración binario

De Decimal a Binario

Page 98: Tema 1: Introducción al curso - UJI

•Dos métodos:

• El método de las divisiones sucesivas porla base

• El método de las potencias por la base

Page 99: Tema 1: Introducción al curso - UJI

Método de las divisiones por la base

Page 100: Tema 1: Introducción al curso - UJI

Método divisiones por la base

•Convertir 1310 a binario

13 2

61

Page 101: Tema 1: Introducción al curso - UJI

Método divisiones por la base

•Convertir 1310 a binario

13 2

61 1¿?¿?¿?

Page 102: Tema 1: Introducción al curso - UJI

Método divisiones por la base

•Convertir 1310 a binario

13 2

6

0

1¿?¿?¿?2

3

1

Page 103: Tema 1: Introducción al curso - UJI

Método divisiones por la base

•Convertir 1310 a binario

13 2

6

0

2

3 10¿?¿?

1

Page 104: Tema 1: Introducción al curso - UJI

Método divisiones por la base

•Convertir 1310 a binario

13 2

6

0

2

3 10¿?¿?2

11

1

Page 105: Tema 1: Introducción al curso - UJI

Método divisiones por la base

•Convertir 1310 a binario

13 2

6

0

2

3 101¿?2

11

1

Page 106: Tema 1: Introducción al curso - UJI

Método divisiones por la base

•Convertir 1310 a binario

13 2

6

0

2

3 10112

11

1

Page 107: Tema 1: Introducción al curso - UJI

Método divisiones por la base

•Convertir 2810 a binario

28 2

140

Page 108: Tema 1: Introducción al curso - UJI

Método divisiones por la base

•Convertir 2810 a binario

28 2

140

0¿?¿?¿?¿?

Page 109: Tema 1: Introducción al curso - UJI

Método divisiones por la base

•Convertir 2810 a binario

28 2

140

0¿?¿?¿?¿?

2

70

Page 110: Tema 1: Introducción al curso - UJI

Método divisiones por la base

•Convertir 2810 a binario

28 2

140

00¿?¿?¿?

2

70

Page 111: Tema 1: Introducción al curso - UJI

Método divisiones por la base

•Convertir 2810 a binario

28 2

140

00¿?¿?¿?

2

70 2

31

Page 112: Tema 1: Introducción al curso - UJI

Método divisiones por la base

•Convertir 2810 a binario

28 2

140

001¿?¿?

2

70 2

31

Page 113: Tema 1: Introducción al curso - UJI

Método divisiones por la base

•Convertir 2810 a binario

28 2

140

001¿?¿?

2

70 2

31 2

11

Page 114: Tema 1: Introducción al curso - UJI

Método divisiones por la base

•Convertir 2810 a binario

28 2

140

0011¿?

2

70 2

31 2

11

Page 115: Tema 1: Introducción al curso - UJI

Método divisiones por la base

•Convertir 2810 a binario

28 2

140

00111

2

70 2

31 2

11

Page 116: Tema 1: Introducción al curso - UJI

Método de las potencias de la base

Page 117: Tema 1: Introducción al curso - UJI

20 1

21 2

22 4

23 8

24 16

25 32

26 64

27 128

28 256

29 512

Page 118: Tema 1: Introducción al curso - UJI

•Convertir 4310 a binario

20 1

21 2

22 4

23 8

24 16

25 32

26 64

27 128

28 256

29 512

Page 119: Tema 1: Introducción al curso - UJI

•Convertir 4310 a binario

20 1

21 2

22 4

23 8

24 16

25 32

26 64

27 128

28 256

29 512

xb[5]*25 + xb[4]*24 + xb[3]*23 +

xb[2]*22 + xb[1]*21 + xb[0]*20

xb[5] = 1

1 ¿? ¿? ¿? ¿? ¿?

25 24 23 22 21 20

Page 120: Tema 1: Introducción al curso - UJI

•Convertir 4310 a binario• 43 – 32 = 11

20 1

21 2

22 4

23 8

24 16

25 32

26 64

27 128

28 256

29 512

1 ¿? ¿? ¿? ¿? ¿?

25 24 23 22 21 20

Page 121: Tema 1: Introducción al curso - UJI

•Convertir 4310 a binario• 43 – 32 = 11

20 1

21 2

22 4

23 8

24 16

25 32

26 64

27 128

28 256

29 512

1 0 ¿? ¿? ¿? ¿?

ATENCIÓN: No es 24

xb[4] = 0

25 24 23 22 21 20

Page 122: Tema 1: Introducción al curso - UJI

•Convertir 4310 a binario• 43 – 32 = 11

20 1

21 2

22 4

23 8

24 16

25 32

26 64

27 128

28 256

29 512

1 0 1 ¿? ¿? ¿?

xb[3] = 1

25 24 23 22 21 20

Page 123: Tema 1: Introducción al curso - UJI

•Convertir 4310 a binario• 43 – 32 = 11• 11 – 8 = 3

20 1

21 2

22 4

23 8

24 16

25 32

26 64

27 128

28 256

29 512

1 0 1 ¿? ¿? ¿?

25 24 23 22 21 20

Page 124: Tema 1: Introducción al curso - UJI

•Convertir 4310 a binario• 43 – 32 = 11• 11 – 8 = 3

20 1

21 2

22 4

23 8

24 16

25 32

26 64

27 128

28 256

29 512

1 0 1 0 ¿? ¿?

ATENCIÓN: No es 22

xb[2] = 0

25 24 23 22 21 20

Page 125: Tema 1: Introducción al curso - UJI

•Convertir 4310 a binario• 43 – 32 = 11• 11 – 8 = 3

20 1

21 2

22 4

23 8

24 16

25 32

26 64

27 128

28 256

29 512

1 0 1 0 1 ¿?

xb[1] = 1

25 24 23 22 21 20

Page 126: Tema 1: Introducción al curso - UJI

• Convertir 4310 a binario• 43 – 32 = 11• 11 – 8 = 3 • 3 – 2 = 1

20 1

21 2

22 4

23 8

24 16

25 32

26 64

27 128

28 256

29 512

1 0 1 0 1 ¿?

25 24 23 22 21 20

Page 127: Tema 1: Introducción al curso - UJI

• Convertir 4310 a binario• 43 – 32 = 11• 11 – 8 = 3 • 3 – 2 = 1

20 1

21 2

22 4

23 8

24 16

25 32

26 64

27 128

28 256

29 512

1 0 1 0 1 1

xb[0] = 1

25 24 23 22 21 20

Page 128: Tema 1: Introducción al curso - UJI

•Convertir 2810 a binario

20 1

21 2

22 4

23 8

24 16

25 32

26 64

27 128

28 256

29 512

Page 129: Tema 1: Introducción al curso - UJI

•Convertir 2810 a binario

20 1

21 2

22 4

23 8

24 16

25 32

26 64

27 128

28 256

29 512

xb[4]*24 + xb[3]*23 +

xb[2]*22 + xb[1]*21 + xb[0]*20

xb[4] = 1

1 ¿? ¿? ¿? ¿?

24 23 22 21 20

Page 130: Tema 1: Introducción al curso - UJI

•Convertir 2810 a binario• 28 – 16 = 12

20 1

21 2

22 4

23 8

24 16

25 32

26 64

27 128

28 256

29 512

1 1 ¿? ¿? ¿?

24 23 22 21 20

xb[3] = 1

Page 131: Tema 1: Introducción al curso - UJI

•Convertir 2810 a binario• 28 – 16 = 8• 12 – 8 = 4

20 1

21 2

22 4

23 8

24 16

25 32

26 64

27 128

28 256

29 512

1 1 1 ¿? ¿?

24 23 22 21 20

xb[2] = 1

Page 132: Tema 1: Introducción al curso - UJI

• Convertir 2810 a binario• 28 – 16 = 8• 12 – 8 = 4• 4 – 4 = 0

20 1

21 2

22 4

23 8

24 16

25 32

26 64

27 128

28 256

29 512

1 1 1 0 0

24 23 22 21 20

Como es 0, el resto 0

xb[1] = 0

xb[0] = 0

Page 133: Tema 1: Introducción al curso - UJI

El Sistema de numeración binario

Números reales

Page 134: Tema 1: Introducción al curso - UJI

• Número real X = Y + Z:

• Y: parte entera • Lo que hay a la izquierda de la coma.

• Z: parte fraccionaria: • Lo que hay a la derecha de la coma.

Page 135: Tema 1: Introducción al curso - UJI

• Número real X = Y + Z:

• Y: parte entera • Lo que hay a la izquierda de la coma.

• Z: parte fraccionaria: • Lo que hay a la derecha de la coma.

• X = 5,65

• Parte entera: Y = 5

• Parte fraccionaria: Z= 0,65

Page 136: Tema 1: Introducción al curso - UJI

• ATENCIÓN:

• Los ordenadores NO representan los números reales como por ejemplo 110,1002

• NO existe la coma en binario

Page 137: Tema 1: Introducción al curso - UJI

• ATENCIÓN:

• Los ordenadores NO representan los números reales como por ejemplo 110,1002

• NO existe la coma en binario

• Se usa el formato IEEE754

• Es necesario saber como convertir la parte fraccionaria de un número real en decimal a binario y viceversa.

Page 138: Tema 1: Introducción al curso - UJI

De Binario a Decimal

Page 139: Tema 1: Introducción al curso - UJI

De binario a decimal:

101,1012

• b=2

• N+=3

• N-=3

• p=2,1,0

• q=-1,-2,-3

xb[2] = 1 xb[-1] = 1

xb[1] = 0 xb[-2] = 0

xb[0] = 1 xb[-3] = 1

Page 140: Tema 1: Introducción al curso - UJI

101,1012 =

= xb[2]*22 + xb[1]*21 + xb[0]*20 +

xb[-1]*2-1 + xb[-2]*2-2 + xb[-3]*2-3

De binario a decimal:

Page 141: Tema 1: Introducción al curso - UJI

101,1012 =

= xb[2]*22 + xb[1]*21 + xb[0]*20 +

xb[-1]*2-1 + xb[-2]*2-2 + xb[-3]*2-3

= 1*22 + 0*21 + 1*20 +

1*2-1 + 0*2-2 + 1*2-3

De binario a decimal:

Page 142: Tema 1: Introducción al curso - UJI

101,1012 =

= xb[2]*22 + xb[1]*21 + xb[0]*20 +

xb[-1]*2-1 + xb[-2]*2-2 + xb[-3]*2-3

= 1*22 + 0*21 + 1*20 +

1*2-1 + 0*2-2 + 1*2-3

= 4 + 0 + 1 + 0,5 + 0,125

= 5,62510

De binario a decimal:

Page 143: Tema 1: Introducción al curso - UJI

De Decimal a Binario

Page 144: Tema 1: Introducción al curso - UJI

• ATENCIÓN:

• Parte entera: • Método divisiones sucesivas por la base

• Método potencias positivas de la base

• Parte fraccionaria: • Método multiplicaciones sucesivas por la base

• Método potencias negativas de la base

Page 145: Tema 1: Introducción al curso - UJI

• ATENCIÓN:

• Parte entera: • Método divisiones sucesivas por la base

• Método potencias positivas de la base

• Parte fraccionaria: • Método multiplicaciones sucesivas por la base

• Método potencias negativas de la base

Page 146: Tema 1: Introducción al curso - UJI

• Convertir 5,2510:

• Parte entera: • 510 1012

• Parte fraccionaria: • Aplicamos el método de las multiplicaciones sucesivas por la

base a 0,2510

Page 147: Tema 1: Introducción al curso - UJI

• Convertir 0,2510:

0,25

2 X 0 ¿? ¿?

,

Page 148: Tema 1: Introducción al curso - UJI

• Convertir 0,2510:

0,25

2 X

0,50

0 0 ¿? ,

Page 149: Tema 1: Introducción al curso - UJI

• Convertir 0,2510:

0,25

2 X

0,50

0 0 1 ,

2 X

1,00

Page 150: Tema 1: Introducción al curso - UJI

• Convertir 7,410:

• Parte entera: • 710 1112

• Parte fraccionaria: • Aplicamos el método de las multiplicaciones sucesivas por la

base a 0,410

Page 151: Tema 1: Introducción al curso - UJI

• Convertir 0,410:

0,40

2 X

0 ¿? ¿? ,

Page 152: Tema 1: Introducción al curso - UJI

• Convertir 0,410:

0,40

2 X

0 0 ¿? ,

0,80

Page 153: Tema 1: Introducción al curso - UJI

• Convertir 0,410:

0,40

2 X

0 0 1 ,

0,80

2 X

1,60

Page 154: Tema 1: Introducción al curso - UJI

• Pero 0,410 no es igual a 0,012:

• 0,012 = 0,2510

Page 155: Tema 1: Introducción al curso - UJI

• Pero 0,410 no es igual a 0,012:

• 0,012 = 0,2510

• Hemos obtenido solo una aproximación.

• Podemos mejorar la aproximación siguiendo el proceso.

Page 156: Tema 1: Introducción al curso - UJI

• Convertir 0,410:

0,40

2 X

0 0 1 ,

0,80

2 X

1,60

0,60

2 X

1 ¿? ¿?

1,20

¿?

Page 157: Tema 1: Introducción al curso - UJI

• Convertir 0,410:

0,40

2 X

,

0,80

2 X

1,60

0,60

2 X

1,20

0,20

2 X

0,40

0 0 1 1 0 ¿? ¿?

Page 158: Tema 1: Introducción al curso - UJI

• Convertir 0,410:

0,40

2 X

,

0,80

2 X

1,60

0,60

2 X

1,20

0,20

2 X

0,40

2 X

0,80

0 0 1 1 0 0 ¿?

Page 159: Tema 1: Introducción al curso - UJI

• Convertir 0,410:

0,40

2 X

,

0,80

2 X

1,60

0,60

2 X

1,20

0,20

2 X

0,40

2 X

0,80

0 0 1 1 0 0 1

2 X

1,60

Page 160: Tema 1: Introducción al curso - UJI

• 0,410 es aproximadamente igual a 0,0110012

• Exactamente 0,0110012 0,390610

• Cuantos más dígitos, mejor aproximación.

Page 161: Tema 1: Introducción al curso - UJI

El Sistema de numeración binario

Operar en binario

Page 162: Tema 1: Introducción al curso - UJI

Sumar

Page 163: Tema 1: Introducción al curso - UJI

• Hay que saber:

• El símbolo resultado de la suma de otros dos

• Si hay acarreo (“llevo 1”) o no

Page 164: Tema 1: Introducción al curso - UJI

8 3 6 1

1 9 6 0

8 3 6 1

1 9 6

8 3 6 1 ¿? ¿? ¿? ¿?

+

Page 165: Tema 1: Introducción al curso - UJI

8 3 6 1

1 9 6 0

8 3 6 1

1 9 6

8 3 6 1 9 ¿? ¿? ¿?

+

Page 166: Tema 1: Introducción al curso - UJI

8 3 6 1

1 9 6 0

8 3 6 1

1 9 6

8 3 6 1 9 2 ¿? ¿?

+1

+

Page 167: Tema 1: Introducción al curso - UJI

8 3 6 1

1 9 6 0

8 3 6 1

1 9 6

8 3 6 1 9 2 3 ¿?

+1 +1

+

Page 168: Tema 1: Introducción al curso - UJI

8 3 6 1

1 9 6 0

8 3 6 1

1 9 6

8 3 6 1 9 2 3 2

+1 +1

+

Page 169: Tema 1: Introducción al curso - UJI

• En binario:

Primer símbolo

Segundo símbolo

Símbolo resultado

Acarreo

0 0 0 No

0 1 1 No

1 0 1 No

1 1 0 Si

Page 170: Tema 1: Introducción al curso - UJI

8 3 6 1

1 9 6 0

1 0 0 1

1 1 0

8 3 6 1 ¿? ¿? ¿? ¿?

+

Page 171: Tema 1: Introducción al curso - UJI

8 3 6 1

1 9 6 0

1 0 0 1

1 1 0

8 3 6 1 0 ¿? ¿? ¿?

+

+1

Page 172: Tema 1: Introducción al curso - UJI

8 3 6 1

1 9 6 0

1 0 0 1

1 1 0

8 3 6 1 0 0 ¿? ¿?

+

+1 +1

Page 173: Tema 1: Introducción al curso - UJI

8 3 6 1

1 9 6 0

1 0 0 1

1 1 0

8 3 6 1 0 0 1 ¿?

+

+1 +1

Page 174: Tema 1: Introducción al curso - UJI

8 3 6 1

1 9 6 0

1 0 0 1

1 1 0

8 3 6 1 0 0 1 1

+

+1 +1

Page 175: Tema 1: Introducción al curso - UJI

• ¿Qué ocurre si la suma de los dos dígitos más representativos produce acarreo?

• Desbordamiento

8 3 6 1

1 9 6 1

1 0 0 1

1 1 0

8 3 6 1 0 0 1 0

+1 +1

¿?

+1

Page 176: Tema 1: Introducción al curso - UJI

Restar

Page 177: Tema 1: Introducción al curso - UJI

• Hay que saber: • El símbolo resultado de la resta de otros dos

• Si hay acarreo o no

• Acarreo +1 se suma al de abajo (substraendo)

• O acarreo -1 que se suma al de arriba (minuendo)

Primer

símbolo Segundo símbolo

Símbolo resultado

Acarreo

0 0 0 No

0 1 1 Si

1 0 1 No

1 1 0 No

Page 178: Tema 1: Introducción al curso - UJI

8 3 6 1

1 9 6 0

1 0 0 1

1 1 0

8 3 6 1 ¿? ¿? ¿? ¿?

-

Page 179: Tema 1: Introducción al curso - UJI

8 3 6 1

1 9 6 0

1 0 0 1

1 1 0

8 3 6 1 0 ¿? ¿? ¿?

-

Page 180: Tema 1: Introducción al curso - UJI

8 3 6 1

1 9 6 0

1 0 0 1

1 1 0

8 3 6 1 0 1 ¿? ¿?

- +1

Page 181: Tema 1: Introducción al curso - UJI

8 3 6 1

1 9 6 0

1 0 0 1

1 1 0

8 3 6 1 0 1 1 ¿?

- +1 +1

Page 182: Tema 1: Introducción al curso - UJI

8 3 6 1

1 9 6 0

1 0 0 1

1 1 0

8 3 6 1 0 1 1 0

- +1 +1

Page 183: Tema 1: Introducción al curso - UJI

Multiplicar

Page 184: Tema 1: Introducción al curso - UJI

• Multiplicar n veces por la base es equivalente a desplazar n veces los dígitos hacia la izquierda, añadiendo n ceros por la derecha.

Page 185: Tema 1: Introducción al curso - UJI

• Multiplicar 0010102 por 2 veces la base:

• 2 veces la base es multiplicar por 22 = 410 1002

Page 186: Tema 1: Introducción al curso - UJI

0 1 0 1 0 0 22 x

Page 187: Tema 1: Introducción al curso - UJI

8 3 0 1 8 3 0 1 0 0

0 1 0 1 0 0 22 x

Page 188: Tema 1: Introducción al curso - UJI

8 3 0 1 8 3 0 1 0 0

0 1 0 1 0 0 22 x

0 1 0 0 0 1

Page 189: Tema 1: Introducción al curso - UJI

• 0010102 1010

• 1010002 4010

• 1010x410 = 4010

Page 190: Tema 1: Introducción al curso - UJI

Dividir

Page 191: Tema 1: Introducción al curso - UJI

• Dividir n veces por la base es equivalente a desplazar n veces los dígitos hacia la derecha, añadiendo n ceros por la izquierda.

• Mediante este proceso se obtiene únicamente el cociente (no el resto).

• División entera • 7/3 = 2

Page 192: Tema 1: Introducción al curso - UJI

• Dividir 0010102 por 2 veces la base:

• 2 veces la base es dividir por 22 = 410 1002

Page 193: Tema 1: Introducción al curso - UJI

0 0

0 1 0 1 0 0 22 /

0 1 0 0

0 0 0 1 0 0

Page 194: Tema 1: Introducción al curso - UJI

• 0010102 1010

• 0000102 210

• 1010/410 = 210

Page 195: Tema 1: Introducción al curso - UJI

El Sistema de numeración hexadecimal

http://spaceplace.nasa.gov/binary-code3/sp/dr-marc-hex-lrg.sp.png

Page 196: Tema 1: Introducción al curso - UJI

• Es un sistema de numeración posicional.

• 16 símbolos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C,D, E, F (b=16).

Page 197: Tema 1: Introducción al curso - UJI

• ¿Cómo funciona el sistema de numeraciónhexadecimal?

• Supongamos N=4• N es el número de dígitos que podemos usar

0 0 0 00

Page 198: Tema 1: Introducción al curso - UJI

0 0 0 11

0

2

Page 199: Tema 1: Introducción al curso - UJI

0 0 0 22

1

3

Page 200: Tema 1: Introducción al curso - UJI

0 0 0 99

8

A

Page 201: Tema 1: Introducción al curso - UJI

0 0 0 A10

9

B

Page 202: Tema 1: Introducción al curso - UJI

0 0 0 B11

A

C

Page 203: Tema 1: Introducción al curso - UJI

0 0 0 F15

E

Page 204: Tema 1: Introducción al curso - UJI

0 0 1 016

1

0

2

Page 205: Tema 1: Introducción al curso - UJI

0 0 1 117

2

0

2

0

Page 206: Tema 1: Introducción al curso - UJI

0 0 F F255

E E

Page 207: Tema 1: Introducción al curso - UJI

0 1 0 0256

0

2 1 1

Page 208: Tema 1: Introducción al curso - UJI

F F F F65535

0 00 0

Page 209: Tema 1: Introducción al curso - UJI

• Con N dígitos, es posible representar elrango:

[ 0, 16N -1]

• Con N=4 dígitos:

[0, 65535]

Page 210: Tema 1: Introducción al curso - UJI

¿Hexadecimal?

Page 211: Tema 1: Introducción al curso - UJI

• Relación binario hexadecimal

Page 212: Tema 1: Introducción al curso - UJI

• Calcula el equivalente en hexadecimal delnúmero binario 001011012

Page 213: Tema 1: Introducción al curso - UJI

• Calcula el equivalente en hexadecimal delnúmero binario 001011012

• Paso 1: agrupar de 4 en 4:• 00102 , 11012

Page 214: Tema 1: Introducción al curso - UJI

• Calcula el equivalente en hexadecimal delnúmero binario 001011012

• Paso 1: agrupar de 4 en 4:• 00102 , 11012

• Paso 2: Sustituir por dígito hexadecimal• 00102 216

• 11012 D16

Page 215: Tema 1: Introducción al curso - UJI

• Calcula el equivalente en hexadecimal delnúmero binario 001011012

• Paso 1: agrupar de 4 en 4:• 00102 , 11012

• Paso 2: Sustituir por dígito hexadecimal• 00102 216

• 11012 D16

• Paso 3: Agrupar dígitos hexadecimales:• 001011012 2D16

Page 216: Tema 1: Introducción al curso - UJI

• Calcula el equivalente en hexadecimal delnúmero binario 10011010112

Page 217: Tema 1: Introducción al curso - UJI

• Calcula el equivalente en hexadecimal delnúmero binario 10011010112

• ATENCIÓN:• El número de dígitos no es múltiplo de 4.

• Solución: añadir ceros por la izquierda

Page 218: Tema 1: Introducción al curso - UJI

• Calcula el equivalente en hexadecimal delnúmero binario 10011010112

• ATENCIÓN:• El número de dígitos no es múltiplo de 4.

• Solución: añadir ceros por la izquierda

• 10011010112 = 0010011010112

Page 219: Tema 1: Introducción al curso - UJI

• Calcula el equivalente en hexadecimal delnúmero binario 10011010112

• ATENCIÓN:• El número de dígitos no es múltiplo de 4.

• Solución: añadir ceros por la izquierda

• 10011010112 = 0010011010112

• 00102 01102 10112

Page 220: Tema 1: Introducción al curso - UJI

• Calcula el equivalente en hexadecimal delnúmero binario 10011010112

• ATENCIÓN:• El número de dígitos no es múltiplo de 4.

• Solución: añadir ceros por la izquierda

• 10011010112 = 0010011010112

• 00102 01102 10112

Page 221: Tema 1: Introducción al curso - UJI

• Calcula el equivalente en hexadecimal delnúmero binario 10011010112

• ATENCIÓN:• El número de dígitos no es múltiplo de 4.

• Solución: añadir ceros por la izquierda

• 10011010112 = 0010011010112

• 00102 01102 10112

• 216 616 B16

Page 222: Tema 1: Introducción al curso - UJI

• Calcula el equivalente en hexadecimal delnúmero binario 10011010112

• ATENCIÓN:• El número de dígitos no es múltiplo de 4.• Solución: añadir ceros por la izquierda

• 10011010112 = 0010011010112

• 00102 01102 10112

• 216 616 B16

• 10011010112 26B16

Page 223: Tema 1: Introducción al curso - UJI

• Resumen:

• Un número de N dígitos en binario se expresa en N/4dígitos en hexadecimal

Page 224: Tema 1: Introducción al curso - UJI

• Los números en hexadecimal se escriben:

• Subíndice 16

• Prefijo 0x

0x26B 26B16

Page 225: Tema 1: Introducción al curso - UJI

El Sistema de numeración hexadecimal

http://spaceplace.nasa.gov/binary-code3/sp/dr-marc-hex-lrg.sp.png

Page 226: Tema 1: Introducción al curso - UJI

De Hexadecimal a Decimal

Page 227: Tema 1: Introducción al curso - UJI

• Dos métodos:• Aplicar la fórmula con b=16

• Convertir primero a binario y luego aplicar la fórmulacon b=2

Page 228: Tema 1: Introducción al curso - UJI

• Convierte AE416 a decimal

Page 229: Tema 1: Introducción al curso - UJI

• Convierte AE416 a decimal:• A16 1010

• E16 1410

• 416 410

Page 230: Tema 1: Introducción al curso - UJI

• Convierte AE416 a decimal:• A16 1010

• E16 1410

• 416 410

AE416 = 10*162 + 14*161 + 4*160

Page 231: Tema 1: Introducción al curso - UJI

• Convierte AE416 a decimal:• A16 1010

• E16 1410

• 416 410

AE416 = 10*162 + 14*161 + 4*160

= 10*256 + 14*16 + 4*1

Page 232: Tema 1: Introducción al curso - UJI

• Convierte AE416 a decimal:• A16 1010

• E16 1410

• 416 410

AE416 = 10*162 + 14*161 + 4*160

= 10*256 + 14*16 + 4*1= 2560 + 224 + 4= 2788

Page 233: Tema 1: Introducción al curso - UJI

• Convierte AE416 a decimal• A16 10102

• E16 11102

• 416 01002

AE416 1010111001002

Page 234: Tema 1: Introducción al curso - UJI

• Convierte AE416 a decimal• A16 10102

• E16 11102

• 416 01002

AE416 1010111001002

1010111001002 = 211 + 29 + 27 + 26 + 25 + 22

Page 235: Tema 1: Introducción al curso - UJI

• Convierte AE416 a decimal• A16 10102

• E16 11102

• 416 01002

AE416 1010111001002

1010111001002 = 211 + 29 + 27 + 26 + 25 + 22

= 2048 + 512 + 128 + 64 + 32 + 4

= 2788

Page 236: Tema 1: Introducción al curso - UJI

De Decimal a Hexadecimal

Page 237: Tema 1: Introducción al curso - UJI

• Dos métodos:• Divisiones sucesivas por 16

• Convertir primero a binario y luego agrupar de 4 en 4

Page 238: Tema 1: Introducción al curso - UJI

• Convertir 4610 a hexadecimal:

46 16

214

¿?¿?

Page 239: Tema 1: Introducción al curso - UJI

• Convertir 4610 a hexadecimal:

46 16

214

E¿?

Page 240: Tema 1: Introducción al curso - UJI

• Convertir 4610 a hexadecimal:

46 16

214

E2

Page 241: Tema 1: Introducción al curso - UJI

• Convertir 45010 a hexadecimal:

450 16

282

¿?¿?¿?

Page 242: Tema 1: Introducción al curso - UJI

• Convertir 45010 a hexadecimal:

450 16

282

2¿?¿?

Page 243: Tema 1: Introducción al curso - UJI

• Convertir 45010 a hexadecimal:

450 16

282

2D¿?

16

112

Page 244: Tema 1: Introducción al curso - UJI

• Convertir 45010 a hexadecimal:

450 16

282

2D1

16

112

Page 245: Tema 1: Introducción al curso - UJI

• Convertir 4610 a hexadecimal:

4610 1011102

Page 246: Tema 1: Introducción al curso - UJI

• Convertir 4610 a hexadecimal:

4610 1011102

1011102 = 001011102

Page 247: Tema 1: Introducción al curso - UJI

• Convertir 4610 a hexadecimal:

4610 1011102

1011102 = 001011102

00102 216

11102 E16

4610 1011102 2E16

Page 248: Tema 1: Introducción al curso - UJI

• Convertir 44610 a hexadecimal:

44610 1101111102

Page 249: Tema 1: Introducción al curso - UJI

• Convertir 44610 a hexadecimal:

44610 1101111102

1101111102 = 0001101111102

Page 250: Tema 1: Introducción al curso - UJI

• Convertir 44610 a hexadecimal:

44610 1101111102

1101111102 = 0001101111102

00012 116;

10112 B16

11102 E16

4610 1101111102 1BE16

Page 251: Tema 1: Introducción al curso - UJI

Codificación de números enteros sin signo

Page 252: Tema 1: Introducción al curso - UJI

Nota

Para facilitar la lectura de números enbinario usaremos un pequeño espaciocada 4 dígitos.

1000 0001 01012

10 0101 01012

Page 253: Tema 1: Introducción al curso - UJI

Programas informáticos y lenguajes de programación

Page 254: Tema 1: Introducción al curso - UJI

Programas y Lenguajes de programación

Programa Informático

http://pixabay.com/es/monitor-pantalla-equipo-149362/

Page 255: Tema 1: Introducción al curso - UJI

Programas y Lenguajes de programación

Los programas informáticos se escribenusando Lenguajes de programación.

• Lenguajes de programación comunes:• C, C++

• Python

• Java

• Javascript

Page 256: Tema 1: Introducción al curso - UJI

Tipos de datos

Page 257: Tema 1: Introducción al curso - UJI

Tipos de datos

Para poder realizar programas esnecesario conocer los tipos de datosexistentes en ese lenguaje.

Page 258: Tema 1: Introducción al curso - UJI

Tipos de datos

Preguntas:

• ¿Cuál es el rango de valores quenecesitamos representar?

Page 259: Tema 1: Introducción al curso - UJI

Tipos de datos

• ¿Cuántos artículos diferentes vamos atener?• ¿Qué stock máximo podemos tener de cada

artículo?• ¿Cuántas ventas podemos llegar a tener de

cada artículo?http://pixabay.com/es/sudaderas-su%C3%A9teres-exposici%C3%B3n-428607/

Page 260: Tema 1: Introducción al curso - UJI

Tipos de datos

• En los tres casos es un número positivo.

• ¿Cómo de grande?

Page 261: Tema 1: Introducción al curso - UJI

Tipos de datos

•1 byte.

•Con 1 byte es posible representar 256valores.

• El más pequeño 0, el más grande 255.

Page 262: Tema 1: Introducción al curso - UJI

Tipos de datos

•1 byte.

•Con 1 byte es posible representar 256valores.

• El más pequeño 0, el más grande 255.

¿Será suficiente?

Page 263: Tema 1: Introducción al curso - UJI

Tipos de datos

• ¿Cuántos artículos diferentes vamos atener?

Page 264: Tema 1: Introducción al curso - UJI

Tipos de datos

• ¿Cuántos artículos diferentes vamos atener?

• ¿Qué stock máximo podemos tener decada artículo?

Page 265: Tema 1: Introducción al curso - UJI

Tipos de datos

• ¿Cuántos artículos diferentes vamos atener?

• ¿Qué stock máximo podemos tener decada artículo?

• ¿Cuántas ventas podemos llegar a tenerde cada artículo?

Page 266: Tema 1: Introducción al curso - UJI

Tipos de datos más comunes

Page 267: Tema 1: Introducción al curso - UJI

Tipos de datos

• Tipos de datos más comunes en Java/C:

Nombre Número de bits Dígitos en Hex

Rango

byte 8 2 [0, 255]

short 16 4 [0, 65 535]

int 32 8 [0, 4 294 967 295]

long 64 16 [0, 18 446 744 073 709 551 615]

Page 268: Tema 1: Introducción al curso - UJI

El tipo byte

Page 269: Tema 1: Introducción al curso - UJI

El tipo byte

• El tipo byte usa 8 bits

•Rango [0, 255]

•Al expresar un número usando el tipobyte, se deberá usar 8 bits.• Rellenar con 0s por la izquierda, si es

necesario.

Page 270: Tema 1: Introducción al curso - UJI

El tipo byte

• Expresa 5810 en binario usando el tipode datos byte.

Page 271: Tema 1: Introducción al curso - UJI

El tipo byte

• Expresa 5810 en binario usando el tipode datos byte.

•5810 11 10102

Page 272: Tema 1: Introducción al curso - UJI

El tipo byte

• Expresa 5810 en binario usando el tipode datos byte.

•5810 11 10102

Espacio cada cuatro dígitos binarios

Page 273: Tema 1: Introducción al curso - UJI

El tipo byte

• Expresa 5810 en binario usando el tipode datos byte.

•5810 11 10102

•Con el tipo byte:• 5810 0011 10102 3A16

Page 274: Tema 1: Introducción al curso - UJI

El tipo byte

• Expresa 4310 en binario usando el tipode datos byte.

Page 275: Tema 1: Introducción al curso - UJI

El tipo byte

• Expresa 4310 en binario usando el tipode datos byte.

•4310 10 10112

Page 276: Tema 1: Introducción al curso - UJI

El tipo byte

• Expresa 4310 en binario usando el tipode datos byte.

•4310 10 10112

•Con el tipo byte:• 4310 0010 10112 2B16

Page 277: Tema 1: Introducción al curso - UJI

El tipo byte

• Expresa 1210 en binario usando el tipode datos byte.

Page 278: Tema 1: Introducción al curso - UJI

El tipo byte

• Expresa 1210 en binario usando el tipode datos byte.

•1210 11002

Page 279: Tema 1: Introducción al curso - UJI

El tipo byte

• Expresa 1210 en binario usando el tipode datos byte.

•1210 11002

•Con el tipo byte:• 1210 0000 11002 0C16

Page 280: Tema 1: Introducción al curso - UJI

El tipo byte

• Expresa 27610 en binario usando el tipode datos byte.

Page 281: Tema 1: Introducción al curso - UJI

El tipo byte

• Expresa 27610 en binario usando el tipode datos byte.

•No es posible representarlo.

Page 282: Tema 1: Introducción al curso - UJI

El tipo short

Page 283: Tema 1: Introducción al curso - UJI

El tipo short

• El tipo short usa 16 bits.

•Rango [0, 65 535]

Page 284: Tema 1: Introducción al curso - UJI

El tipo short

• Expresa 5810 en binario usando el tipode datos short.

Page 285: Tema 1: Introducción al curso - UJI

El tipo short

• Expresa 5810 en binario usando el tipode datos short.

•5810 11 10102

Page 286: Tema 1: Introducción al curso - UJI

El tipo short

• Expresa 5810 en binario usando el tipode datos short.

•5810 11 10102

•Con el tipo short:• 5810 0000 0000 0011 10102 003A16

Page 287: Tema 1: Introducción al curso - UJI

El tipo short

•Con byte:• 5810 0011 10102 3A16

•Con short:• 5810 0000 0000 0011 10102 003A16

Page 288: Tema 1: Introducción al curso - UJI

El tipo short

• Expresa 235810 en binario usando eltipo de datos short.

Page 289: Tema 1: Introducción al curso - UJI

El tipo short

• Expresa 235810 en binario usando eltipo de datos short.

•235810 1001 0011 01102

Page 290: Tema 1: Introducción al curso - UJI

El tipo short

• Expresa 235810 en binario usando eltipo de datos short.

•235810 1001 0011 01102

•Con el tipo short:• 235810 0000 1001 0011 01102 093616

Page 291: Tema 1: Introducción al curso - UJI

El tipo int

Page 292: Tema 1: Introducción al curso - UJI

El tipo int

• El tipo int usa 32 bits.

•Rango [0, 4 294 967 295]

Page 293: Tema 1: Introducción al curso - UJI

El tipo int

• Expresa 235810 en binario usando eltipo de datos int.

Page 294: Tema 1: Introducción al curso - UJI

El tipo int

• Expresa 235810 en binario usando eltipo de datos int.

•235810 1001 0011 01102

Page 295: Tema 1: Introducción al curso - UJI

El tipo int

• Expresa 235810 en binario usando eltipo de datos int.

•235810 1001 0011 01102

•Con el tipo int:• 235810 0000 0000 0000 0000 0000 1001

0011 01102 0000093616

Page 296: Tema 1: Introducción al curso - UJI

El tipo int

• Expresa 451 35810 en binario usando eltipo de datos int.

Page 297: Tema 1: Introducción al curso - UJI

El tipo int

• Expresa 451 35810 en binario usando eltipo de datos int.

•451 35810 110 1110 0011 0001 11102

Page 298: Tema 1: Introducción al curso - UJI

El tipo int

• Expresa 451 35810 en binario usando eltipo de datos int.

•451 35810 110 1110 0011 0001 11102

•Con el tipo int:• 451 35810 0000 0000 0000 0110 1110

0011 0001 11102 0006E31E16

Page 299: Tema 1: Introducción al curso - UJI

El tipo long

Page 300: Tema 1: Introducción al curso - UJI

El tipo long

• El tipo long usa 64 bits.

•Rango [0, 18 446 744 073 709 551 615]

Page 301: Tema 1: Introducción al curso - UJI

El tipo long

• Expresa 451 35810 en binario usando eltipo de datos long.

Page 302: Tema 1: Introducción al curso - UJI

El tipo long

• Expresa 451 35810 en binario usando eltipo de datos long.

•451 35810 110 1110 0011 0001 11102

Page 303: Tema 1: Introducción al curso - UJI

El tipo long

• Expresa 451 35810 en binario usando el tipode datos long.

• 451 35810 110 1110 0011 0001 11102

• Con el tipo long:• 451 35810 0000 0000 0000 0000 0000 0000

0000 0000 0000 0000 0000 0110 1110 00110001 11102 000000000006E31E16

Page 304: Tema 1: Introducción al curso - UJI

Elección de tipos y memoria

Page 305: Tema 1: Introducción al curso - UJI

Tipos de datos y memoria

• ¿Cuántos artículos diferentes vamos atener?• ¿Qué stock máximo podemos tener de cada

artículo?• ¿Cuántas ventas podemos llegar a tener de

cada artículo?http://pixabay.com/es/sudaderas-su%C3%A9teres-exposici%C3%B3n-428607/

Page 306: Tema 1: Introducción al curso - UJI

Tipos de datos y memoria

• Supongamos:

• Artículos diferentes: 1000

• Stock máximo de cada artículo: 55 000

• Número máximo de ventas esperadas de cadaartículo: 5 000 000 000

Page 307: Tema 1: Introducción al curso - UJI

Tipos de datos y memoria

•Opción 1:

• Elegimos byte.

• Se necesita poca memoria

•No es posible

Page 308: Tema 1: Introducción al curso - UJI

Tipos de datos y memoria

•Opción 2:

• Elegimos long.• Se necesita mucha memoria

Memoria necesaria:

2 * 1000 * 64 = 128 000 bits =

= 128 000 / 8 bytes = 16 000 bytes = 16kB

Page 309: Tema 1: Introducción al curso - UJI

Tipos de datos y memoria

• Opción 3:

• Elegimos short para el stock y long para elnúmero de ventas.

Memoria necesaria:1000 * 16 + 1000* 64 = 80 000 bits =80 000 / 8 bytes = 10 000 bytes = 10kB

Casi 40% de ahorro

Page 310: Tema 1: Introducción al curso - UJI

Codificación de números enteros con signo

Page 311: Tema 1: Introducción al curso - UJI

Números con signo

4756

-9

Page 312: Tema 1: Introducción al curso - UJI

Números con signo

• En decimal se usa el símbolo “-”

• En binario no podemos usar el símbolo:“-” para expresar cantidades negativas.

• Los número negativos se expresan enbinario usando los símbolos “0” y “1”.

Page 313: Tema 1: Introducción al curso - UJI

Números con signo

Signo-Magnitud

Exceso ZComplemento

a 2

Page 314: Tema 1: Introducción al curso - UJI

Números con signo

Signo-Magnitud

Exceso ZComplemento

a 2

Muy fácil de entender

Page 315: Tema 1: Introducción al curso - UJI

Números con signo

Signo-Magnitud

Exceso ZComplemento

a 2

El que realmente se usa

Page 316: Tema 1: Introducción al curso - UJI

Números con signo

Signo-Magnitud

Exceso ZComplemento

a 2

Se usa en el método de representación de

números reales

Page 317: Tema 1: Introducción al curso - UJI

Números con signo

•Con el mismo número de bits el númeropositivo máximo se reduce a la mitad.

Page 318: Tema 1: Introducción al curso - UJI

Números con signo

•Con el mismo número de bits el númeropositivo máximo se reduce a la mitad.

Page 319: Tema 1: Introducción al curso - UJI

Números con signo

•Con el mismo número de bits el númeropositivo máximo se reduce a la mitad.

Page 320: Tema 1: Introducción al curso - UJI

Números con signo

•Con el mismo número de bits el númeropositivo máximo se reduce a la mitad.

Negativos Positivos

Page 321: Tema 1: Introducción al curso - UJI

Números con signo

•Operaciones con signo y sin signo:

• Un mismo conjunto de bits puedeexpresar un número u otro según como seinforme al procesador sobre si laoperación es con signo o sin signo.

Page 322: Tema 1: Introducción al curso - UJI

Codificación de números enteros con signo

Page 323: Tema 1: Introducción al curso - UJI

Signo-Magnitud

Page 324: Tema 1: Introducción al curso - UJI

Signo-Magnitud

•N dígitos:• 1 para el signo (el más significativo):

• “0” para positivos

• “1” para negativos

• N-1 para la cantidad:• Valor absoluto

Page 325: Tema 1: Introducción al curso - UJI

Signo-Magnitud

•N =4

0 1 1 06

Signo Valor absoluto número

Page 326: Tema 1: Introducción al curso - UJI

Signo-Magnitud

•N =4

0 1 1 06

Signo Valor absoluto número

1 1 1 0-6

Signo Valor absoluto número

Page 327: Tema 1: Introducción al curso - UJI

Signo-Magnitud

• Los número x y –x solo se diferencian enel primer bit (el de más a la izquierda):

• 610 ≡ 01102

• -610 ≡ 11102

Page 328: Tema 1: Introducción al curso - UJI

Signo-Magnitud

•Rango:

[ -2N-1-1, +2N-1 -1]

Page 329: Tema 1: Introducción al curso - UJI

Signo-Magnitud

•Con N=4, sin signo

[0, +2N-1]

•Con N=4, con signo, en Signo-Magnitud

[ -2N-1-1, +2N-1 -1]

[0, 15]

[-7, +7]

Page 330: Tema 1: Introducción al curso - UJI

Signo-Magnitud

•Con N=8, sin signo

[0, +2N-1]

•Con N=8, con signo, en Signo-Magnitud

[ -2N-1-1, +2N-1 -1]

[0, 255]

[-127, +127]

Page 331: Tema 1: Introducción al curso - UJI

Signo-Magnitud

• Expresa el número -3110 en Signo-Magnitud con N=8:

Page 332: Tema 1: Introducción al curso - UJI

Signo-Magnitud

• Expresa el número -3110 en Signo-Magnitud con N=8:

• Es negativo -> primer bit “1”• |-3110| = 3110 con 7 bits ≡ 001 11112

Page 333: Tema 1: Introducción al curso - UJI

Signo-Magnitud

• Expresa el número -3110 en Signo-Magnitud con N=8:

• Es negativo -> primer bit “1”• |-3110| = 3110 con 7 bits ≡ 001 11112

•Resultado:• -3110 ≡ 1001 11112

Page 334: Tema 1: Introducción al curso - UJI

Signo-Magnitud

• Expresa el número 7210 en Signo-Magnitud con N=8:

Page 335: Tema 1: Introducción al curso - UJI

Signo-Magnitud

• Expresa el número 7210 en Signo-Magnitud con N=8:

• Es positivo -> primer bit “0”• |7210 | = 7210 con 7 bits ≡ 100 10002

Page 336: Tema 1: Introducción al curso - UJI

Signo-Magnitud

• Expresa el número 7210 en Signo-Magnitud con N=8:

• Es positivo -> primer bit “0”• | 7210 | = 7210 con 7 bits ≡ 100 10002

•Resultado:• 7210 ≡ 0100 10002

Page 337: Tema 1: Introducción al curso - UJI

Signo-Magnitud

• Expresa el número -7210 en Signo-Magnitud con N=8:

Page 338: Tema 1: Introducción al curso - UJI

Signo-Magnitud

• Expresa el número -7210 en Signo-Magnitud con N=8:

• Es negativo -> primer bit “1”• |-7210| = 7210 con 7 bits ≡ 100 10002

Page 339: Tema 1: Introducción al curso - UJI

Signo-Magnitud

• Expresa el número -7210 en Signo-Magnitud con N=8:

• Es negativo -> primer bit “1”• |-7210| = 7210 con 7 bits ≡ 100 10002

•Resultado:• -7210 ≡ 1100 10002

Page 340: Tema 1: Introducción al curso - UJI

Signo-Magnitud

• Expresa el número -11110 en Signo-Magnitud con N=8:

Page 341: Tema 1: Introducción al curso - UJI

Signo-Magnitud

• Expresa el número -11110 en Signo-Magnitud con N=8:

• Es negativo -> primer bit “1”• |-11110| = 11110 con 7 bits ≡ 110 11112

Page 342: Tema 1: Introducción al curso - UJI

Signo-Magnitud

• Expresa el número -11110 en Signo-Magnitud con N=8:

• Es negativo -> primer bit “1”• |-11110| = 11110 con 7 bits -> 110 11112

•Resultado:• -11110 ≡ 1110 11112

Page 343: Tema 1: Introducción al curso - UJI

Signo-Magnitud

• Expresa el número 14510 en Signo-Magnitud con N=8:

• Este número no se puede expresar enSigno-Magnitud con 8 bits

Page 344: Tema 1: Introducción al curso - UJI

Signo-Magnitud

• El número 1110 01002

• ¿es 22810 o -10010?

Page 345: Tema 1: Introducción al curso - UJI

Signo-Magnitud

• El número 1110 01002

• ¿es 22810 o -10010?

•Operación con signo o sin signo.

Page 346: Tema 1: Introducción al curso - UJI

Signo-Magnitud

• ¿Cuál es el resultado de sumar lossiguientes números binarios?

• 0010 11112

• 1000 11002

Page 347: Tema 1: Introducción al curso - UJI

Signo-Magnitud

• ¿Cuál es el resultado de sumar lossiguientes números binarios?

SIN SIGNO

• 0010 11112 ≡ 4710

• 1000 11002 ≡ 14010

Page 348: Tema 1: Introducción al curso - UJI

Signo-Magnitud

• ¿Cuál es el resultado de sumar lossiguientes números binarios?

SIN SIGNO

• 0010 11112 ≡ 4710

• 1000 11002 ≡ 14010

• El resultado será:• 4710 + 14010 = 18710 ≡ 1011 10112

Page 349: Tema 1: Introducción al curso - UJI

Signo-Magnitud

• ¿Cuál es el resultado de sumar lossiguientes números binarios?

CON SIGNO

• 0010 11112 ≡ 4710

• 1000 11002 ≡ -1210

Page 350: Tema 1: Introducción al curso - UJI

Signo-Magnitud

• ¿Cuál es el resultado de sumar lossiguientes números binarios?

CON SIGNO

• 0010 11112 ≡ 4710

• 1000 11002 ≡ -1210

• El resultado será:• 4710 + -1210 = 3510 ≡ 0010 00112

Page 351: Tema 1: Introducción al curso - UJI

Signo-Magnitud

•Pregunta:• ¿Por qué no se usa?

• Doble representación del cero:• Con N=4, 010 ≡ 00002 y 010 ≡ 10002

• Complicaciones en el diseño de losprocesadores.

Page 352: Tema 1: Introducción al curso - UJI

Codificación de números enteros con signo

Page 353: Tema 1: Introducción al curso - UJI

Exceso-Z

Page 354: Tema 1: Introducción al curso - UJI

Exceso Z

•Dado un número X, la representaciónen Exceso Z consiste en representar X +Z en binario.

• Z = 2N-1-1

Page 355: Tema 1: Introducción al curso - UJI

Exceso Z

•N = 4, Z = 7

•N = 8, Z = 127

•N = 16, Z = 32 767

•N = 32, Z = 2 147 483 647

Page 356: Tema 1: Introducción al curso - UJI

Exceso Z

• Expresa el número -310 en Exceso Z conN=4:

Page 357: Tema 1: Introducción al curso - UJI

Exceso Z

• Expresa el número -310 en Exceso Z conN=4:

• Z = 7• -310 + 710 = 410

Page 358: Tema 1: Introducción al curso - UJI

Exceso Z

• Expresa el número -310 en Exceso Z conN=4:

• Z = 7• -310 + 710 = 410

• 410 01002

Page 359: Tema 1: Introducción al curso - UJI

Exceso Z

• Expresa el número -310 en Exceso Z conN=4:

• Z = 7• -310 + 710 = 410

• 410 01002

• El resultado es: -310 01002

Page 360: Tema 1: Introducción al curso - UJI

Exceso Z

• Expresa el número 510 en Exceso Z conN=4:

Page 361: Tema 1: Introducción al curso - UJI

Exceso Z

• Expresa el número 510 en Exceso Z conN=4:

• Z = 7• 510 + 710 = 1210

Page 362: Tema 1: Introducción al curso - UJI

Exceso Z

• Expresa el número 510 en Exceso Z conN=4:

• Z = 7• 510 + 710 = 1210

• 1210 11002

Page 363: Tema 1: Introducción al curso - UJI

Exceso Z

• Expresa el número 510 en Exceso Z conN=4:

• Z = 7• 510 + 710 = 1210

• 1210 11002

• El resultado es: 510 11002

Page 364: Tema 1: Introducción al curso - UJI

Exceso Z

•Rango:

[ -Z, +2N - 1 - Z]

Page 365: Tema 1: Introducción al curso - UJI

Exceso Z

•Con N=4, sin signo

[0, +2N-1]

•Con N=4, con signo, en Exceso Z (Z=7)

[ -Z, +2N - 1 - Z]

[0, 15]

[-7, +8]

Page 366: Tema 1: Introducción al curso - UJI

Exceso Z

•Con N=8, sin signo

[0, +2N-1]

•Con N=8, con signo, en Exceso Z (Z=127)

[ -Z, +2N - 1 - Z]

[0, 255]

[-127, +128]

Page 367: Tema 1: Introducción al curso - UJI

Exceso Z

-7 +8

0 15

Page 368: Tema 1: Introducción al curso - UJI

Exceso Z

• Pregunta: ¿Por qué no se usa?

• Positivo:• Los positivos empiezan por “1” y los negativos

por “0”.

• Única representación del cero.

• Negativo:• Complicaciones en el diseño de los

procesadores.

Page 369: Tema 1: Introducción al curso - UJI

Exceso Z

• Se usa en el formato IEEE754 paracodificar el exponente.

Page 370: Tema 1: Introducción al curso - UJI

Exceso-ZDe decimal a binario

Page 371: Tema 1: Introducción al curso - UJI

Exceso Z

• Expresa el número 1510 en Exceso Z conN=8:

Page 372: Tema 1: Introducción al curso - UJI

Exceso Z

• Expresa el número 1510 en Exceso Z conN=8:

• Z = 127• 1510 + 12710 = 14210

Page 373: Tema 1: Introducción al curso - UJI

Exceso Z

• Expresa el número 1510 en Exceso Z conN=8:

• Z = 127• 1510 + 12710 = 14210

• 14210 1000 11102

Page 374: Tema 1: Introducción al curso - UJI

Exceso Z

• Expresa el número 1510 en Exceso Z conN=8:

• Z = 127• 1510 + 12710 = 14210

• 14210 1000 11102

• El resultado es: 1510 1000 11102

Page 375: Tema 1: Introducción al curso - UJI

Exceso Z

• Expresa el número -11510 en Exceso Zcon N=8:

Page 376: Tema 1: Introducción al curso - UJI

Exceso Z

• Expresa el número -11510 en Exceso Zcon N=8:

• Z = 127• -11510 + 12710 = 1210

Page 377: Tema 1: Introducción al curso - UJI

Exceso Z

• Expresa el número -11510 en Exceso Zcon N=8:

• Z = 127• -11510 + 12710 = 1210

• 1210 0000 11002

Page 378: Tema 1: Introducción al curso - UJI

Exceso Z

• Expresa el número -11510 en Exceso Zcon N=8:

• Z = 127• -11510 + 12710 = 1210

• 1210 0000 11002

• El resultado es: -11510 0000 11002

Page 379: Tema 1: Introducción al curso - UJI

Exceso Z

• Expresa el número -10710 en Exceso Zcon N=8:

Page 380: Tema 1: Introducción al curso - UJI

Exceso Z

• Expresa el número -10710 en Exceso Zcon N=8:

• Z = 127• -10710 + 12710 = 2010

Page 381: Tema 1: Introducción al curso - UJI

Exceso Z

• Expresa el número -10710 en Exceso Zcon N=8:

• Z = 127• -10710 + 12710 = 2010

• 2010 0001 01002

Page 382: Tema 1: Introducción al curso - UJI

Exceso Z

• Expresa el número -10710 en Exceso Zcon N=8:

• Z = 127• -10710 + 12710 = 2010

• 2010 0001 01002

• El resultado es: -10710 0001 01002

Page 383: Tema 1: Introducción al curso - UJI

Exceso-ZDe binario a decimal

Page 384: Tema 1: Introducción al curso - UJI

Exceso Z

•Convierte a decimal el número 10102expresado en Exceso Z con N=4.

Page 385: Tema 1: Introducción al curso - UJI

Exceso Z

•Convierte a decimal el número 10102expresado en Exceso Z con N=4.

• Z=7• 10102 ≡ 1010

Page 386: Tema 1: Introducción al curso - UJI

Exceso Z

•Convierte a decimal el número 10102expresado en Exceso Z con N=4.

• Z=7• 10102 ≡ 1010

• 1010 - 710 = 310

Page 387: Tema 1: Introducción al curso - UJI

Exceso Z

•Convierte a decimal el número 10102expresado en Exceso Z con N=4.

• Z=7• 10102 ≡ 1010

• 1010 - 710 = 310

• El resultado es 10102 ≡ 310

Page 388: Tema 1: Introducción al curso - UJI

Exceso Z

•Convierte a decimal el número0010 10102 expresado en Exceso Z conN=8.

Page 389: Tema 1: Introducción al curso - UJI

Exceso Z

•Convierte a decimal el número0010 10102 expresado en Exceso Z conN=8.

• Z=127• 0010 10102 ≡ 4210

Page 390: Tema 1: Introducción al curso - UJI

Exceso Z

•Convierte a decimal el número0010 10102 expresado en Exceso Z conN=8.

• Z=127• 0010 10102 ≡ 4210

• 4210 - 12710 = -8510

Page 391: Tema 1: Introducción al curso - UJI

Exceso Z

•Convierte a decimal el número0010 10102 expresado en Exceso Z conN=8.

• Z=127• 0010 10102 ≡ 4210

• 4210 - 12710 = -8510

• El resultado es 0010 10102 ≡ -8510

Page 392: Tema 1: Introducción al curso - UJI

Codificación de números enteros con signo

Page 393: Tema 1: Introducción al curso - UJI

Complemento a 2

Page 394: Tema 1: Introducción al curso - UJI

Complemento a 2

•Dado un número x: • Si es positivo:

• Binario

• Si es negativo, tres pasos:

1. Convertir |x| a binario

2. Cambiar 0s por 1s y viceversa

3. Sumar 1

Page 395: Tema 1: Introducción al curso - UJI

Complemento a 2

• Expresa el número 310 en Complemento a 2 con N=4:

Page 396: Tema 1: Introducción al curso - UJI

Complemento a 2

• Expresa el número 310 en Complemento a 2 con N=4:

• Es positivo • 310 00112

Page 397: Tema 1: Introducción al curso - UJI

Complemento a 2

• Expresa el número 310 en Complemento a 2 con N=4:

• Es positivo • 310 00112

• El resultado es: 310 00112

Page 398: Tema 1: Introducción al curso - UJI

Complemento a 2

• Expresa el número -310 en Complemento a 2 con N=4:

Page 399: Tema 1: Introducción al curso - UJI

Complemento a 2

• Expresa el número -310 en Complemento a 2 con N=4: • Es negativo

• Paso 1: |-310| = 310 00112

• Paso 2: 00112 -> 11002

• Paso 3: 11002 + 12 = 11012

• El resultado es -310 11012

Page 400: Tema 1: Introducción al curso - UJI

Complemento a 2

•Rango:

[-2N-1 , +2N-1 - 1]

Page 401: Tema 1: Introducción al curso - UJI

Complemento a 2

•Con N=4, sin signo

[0, +2N-1]

•Con N=4, con signo, en Ca2

[-2N-1 , +2N-1 - 1]

[0, 15]

[-8, +7]

Page 402: Tema 1: Introducción al curso - UJI

Complemento a 2

•Con N=8, sin signo

[0, +2N-1]

•Con N=8, con signo, en Ca2

[-2N-1 , +2N-1 - 1]

[0, 255]

[-128, +127]

Page 403: Tema 1: Introducción al curso - UJI

Complemento a 2

•Pregunta: ¿Por qué se usa?

• Positivo:

• Los positivos empiezan por “0” y los negativos por “1”.

• Única representación del cero.

• Facilita el diseño de los procesadores.

Page 404: Tema 1: Introducción al curso - UJI

Complemento a 2

•Restar A – B, es equivalente a sumar A y el Ca2 de B.

Page 405: Tema 1: Introducción al curso - UJI

Complemento a 2

•A=510, B=310 ¿A-B? con N=4

Page 406: Tema 1: Introducción al curso - UJI

Complemento a 2

•A=510, B=310 ¿A-B? con N=4

•510 01012

• -310 11012 (en Ca2)

Page 407: Tema 1: Introducción al curso - UJI

Complemento a 2

•A=510, B=310 ¿A-B? con N=4

•510 01012

• -310 11012 (en Ca2)

0 1 0 1 1 1 0 1

Page 408: Tema 1: Introducción al curso - UJI

Complemento a 2

•A=510, B=310 ¿A-B? con N=4

•510 01012

• -310 11012 (en Ca2)

0 1 0 1 1 1 0 1

0 0 1 0

+1 +1 +1

Page 409: Tema 1: Introducción al curso - UJI

Complemento a 2

•A=510, B=310 ¿A-B? con N=4

•510 01012 • -310 11012 (en Ca2)

•510-310 = 210 •210 00102

0 1 0 1 1 1 0 1

0 0 1 0

+1 +1 +1

Page 410: Tema 1: Introducción al curso - UJI

Complemento a 2

•A=510, B=310 ¿A-B? con N=4

•510 01012 • -310 11012 (en Ca2)

•510-310 = 210 •210 00102

0 1 0 1 1 1 0 1

0 0 1 0

+1 +1 +1

Hay que descarta el

último acarreo

Page 411: Tema 1: Introducción al curso - UJI

Complemento a 2

•A=210, B=310 ¿A-B? con N=4

Page 412: Tema 1: Introducción al curso - UJI

Complemento a 2

•A=210, B=310 ¿A-B? con N=4

•210 00102

• -310 11012 (en Ca2)

Page 413: Tema 1: Introducción al curso - UJI

Complemento a 2

•A=210, B=310 ¿A-B? con N=4

•210 00102

• -310 11012 (en Ca2)

0 0 1 0 1 1 0 1

Page 414: Tema 1: Introducción al curso - UJI

Complemento a 2

•A=210, B=310 ¿A-B? con N=4

•210 00102

• -310 11012 (en Ca2)

0 0 1 0 1 1 0 1

1 1 1 1

Page 415: Tema 1: Introducción al curso - UJI

Complemento a 2

•A=210, B=310 ¿A-B? con N=4

•210 00102 • -310 11012 (en Ca2)

•210-310 = -110 • -110 11112 (en Ca2)

0 0 1 0 1 1 0 1

1 1 1 1

Page 416: Tema 1: Introducción al curso - UJI

Complemento a 2

•A=210, B=310 ¿A-B? con N=4

•210 00102 • -310 11012 (en Ca2)

•210-310 = -110 • -110 11112 (en Ca2)

No es necesario descarta el

último acarreo 0 0 1 0 1 1 0 1

1 1 1 1

Page 417: Tema 1: Introducción al curso - UJI

N=4

310 00112

Complemento a 2

N=8

310 0000 00112

Page 418: Tema 1: Introducción al curso - UJI

N=4

310 00112

510 01012

Complemento a 2

N=8

310 0000 00112

510 0000 01012

Page 419: Tema 1: Introducción al curso - UJI

N=4

310 00112

510 01012

-210 11102

Complemento a 2

N=8

310 0000 00112

510 0000 01012

-210 1111 11102

Page 420: Tema 1: Introducción al curso - UJI

N=4 310 00112

510 01012 -210 11102 -610 10102

Complemento a 2

N=8

310 0000 00112

510 0000 01012

-210 1111 11102

-610 1111 10102

Page 421: Tema 1: Introducción al curso - UJI

Complemento a 2 De decimal a binario

Page 422: Tema 1: Introducción al curso - UJI

Complemento a 2

• Expresa el número 1510 en Ca2 con N=8

Page 423: Tema 1: Introducción al curso - UJI

Complemento a 2

• Expresa el número 1510 en Ca2 con N=8

• Es positivo • 1510 0000 11112

Page 424: Tema 1: Introducción al curso - UJI

Complemento a 2

• Expresa el número 11510 en Ca2 con N=8

Page 425: Tema 1: Introducción al curso - UJI

Complemento a 2

• Expresa el número 11510 en Ca2 con N=8

• Es positivo • 11510 0111 00112

Page 426: Tema 1: Introducción al curso - UJI

Complemento a 2

• Expresa el número -1510 en Ca2 con N=8

Page 427: Tema 1: Introducción al curso - UJI

Complemento a 2

• Expresa el número -1510 en Ca2 con N=8

• Es negativo • Paso 1: |-1510| = 1510 0000 11112

• Paso 2: 0000 11112 -> 1111 00002

• Paso 3: 1111 00002 + 12 = 1111 00012

Page 428: Tema 1: Introducción al curso - UJI

Complemento a 2

• Expresa el número -1510 en Ca2 con N=8

• Es negativo • Paso 1: |-1510| = 1510 0000 11112

• Paso 2: 0000 11112 -> 1111 00002

• Paso 3: 1111 00002 + 12 = 1111 00012

• El resultado es -1510 1111 00012

Page 429: Tema 1: Introducción al curso - UJI

Complemento a 2

• Expresa el número -10510 en Ca2 con N=8

Page 430: Tema 1: Introducción al curso - UJI

Complemento a 2

• Expresa el número -10510 en Ca2 con N=8

• Es negativo • Paso 1: |-10510| = 10510 0110 10012

• Paso 2: 0110 10012 -> 1001 01102

• Paso 3: 1001 01102 + 12 = 1001 01112

Page 431: Tema 1: Introducción al curso - UJI

Complemento a 2

• Expresa el número -10510 en Ca2 con N=8

• Es negativo • Paso 1: |-10510| = 10510 0110 10012

• Paso 2: 0110 10012 -> 1001 01102

• Paso 3: 1001 01102 + 12 = 1001 01112

• El resultado es -10510 1001 01112

Page 432: Tema 1: Introducción al curso - UJI

Complemento a 2 De binario a decimal

Page 433: Tema 1: Introducción al curso - UJI

Complemento a 2

•Convierte a decimal el número 00102 expresado en Ca2 con N=4.

Page 434: Tema 1: Introducción al curso - UJI

Complemento a 2

•Convierte a decimal el número 00102 expresado en Ca2 con N=4.

• Como empieza por 0 es positivo

• 00102 210

Page 435: Tema 1: Introducción al curso - UJI

Complemento a 2

•Convierte a decimal el número 10112 expresado en Ca2 con N=4.

Page 436: Tema 1: Introducción al curso - UJI

Complemento a 2

• Convierte a decimal el número 10112 expresado en Ca2 con N=4.

• Como empieza por 1 es negativo (tres pasos

al revés): • Paso 1: 10112 - 12 = 10102

• Paso 2: 10102 -> 01012

• Paso 3: 01012 510

Page 437: Tema 1: Introducción al curso - UJI

Complemento a 2

• Convierte a decimal el número 10112 expresado en Ca2 con N=4.

• Como empieza por 1 es negativo (tres pasos al revés):

• Paso 1: 10112 - 12 = 10102

• Paso 2: 10102 -> 01012

• Paso 3: 01012 510

• El resultado es 10112 510

Page 438: Tema 1: Introducción al curso - UJI

Complemento a 2

•Convierte a decimal el número 1010 00102 expresado en Ca2 con N=8.

Page 439: Tema 1: Introducción al curso - UJI

Complemento a 2

• Convierte a decimal el número 1010 00102 expresado en Ca2 con N=8.

• Como empieza por 1 es negativo (tres pasos

al revés): • Paso 1: 1010 00102 - 12 = 1010 00012

• Paso 2: 1010 00012 -> 0101 11102

• Paso 3: 0101 11102 9410

Page 440: Tema 1: Introducción al curso - UJI

Complemento a 2

• Convierte a decimal el número 1010 00102 expresado en Ca2 con N=8.

• Como empieza por 1 es negativo (tres pasos al revés):

• Paso 1: 1010 00102 - 12 = 1010 00012

• Paso 2: 1010 00012 -> 0101 11102

• Paso 3: 0101 11102 9410

• El resultado es 1010 00102 9410

Page 441: Tema 1: Introducción al curso - UJI

Codificación de números reales

Page 442: Tema 1: Introducción al curso - UJI

Números reales

•4,5• Parte entera: 4• Parte fraccionaria: 0,5

Page 443: Tema 1: Introducción al curso - UJI

Números reales

•No se pueden expresar números realesen binario como: 100,1

•No es posible usar el símbolo “ , ”• Únicamente 0’s y 1’s

Page 444: Tema 1: Introducción al curso - UJI

Números reales

• Estándar IEEE754• 32 bits

• 64 bits

Page 445: Tema 1: Introducción al curso - UJI

Notación científicaDecimal

Page 446: Tema 1: Introducción al curso - UJI

Notación científica decimal

• Cualquier número se puede expresar como:

• a * be

• Mantisa a: Número real con un único dígito en laparte entera.

• Exponente e

• Base b

Page 447: Tema 1: Introducción al curso - UJI

Notación científica decimal

• Expresa el número 581,8710 en notación científica

5 8 1 , 8 7

Page 448: Tema 1: Introducción al curso - UJI

Notación científica decimal

• Expresa el número 581,8710 en notación científica

5 8 1 , 8 7

5 8 , 1 8 7

/ 10

Page 449: Tema 1: Introducción al curso - UJI

Notación científica decimal

• Expresa el número 581,8710 en notación científica

5 8 1 , 8 7

5 8 , 1 8 7

/ 10

La coma se mueve hacia la izquierda

Page 450: Tema 1: Introducción al curso - UJI

Notación científica decimal

• Expresa el número 581,8710 en notación científica

5 8 1 , 8 7

5 8 , 1 8 7

X 10/ 10

Page 451: Tema 1: Introducción al curso - UJI

Notación científica decimal

• Expresa el número 581,8710 en notación científica

5 8 1 , 8 7

5 8 , 1 8 7

X 10/ 10

La coma se mueve hacia la derecha

Page 452: Tema 1: Introducción al curso - UJI

Notación científica decimal

• Expresa el número 581,8710 en notación científica

5 8 1 , 8 7

5 8 , 1 8 7

X 10/ 10

5 , 8 1 8 7

/ 10

Page 453: Tema 1: Introducción al curso - UJI

Notación científica decimal

• Expresa el número 581,8710 en notación científica

5 8 1 , 8 7

5 8 , 1 8 7

X 10/ 10

5 , 8 1 8 7

/ 10 X 10

Page 454: Tema 1: Introducción al curso - UJI

Notación científica decimal

• Expresa el número 581,8710 en notación científica

5 8 1 , 8 7

5 , 8 1 8 7

/ 102

Page 455: Tema 1: Introducción al curso - UJI

Notación científica decimal

• Expresa el número 581,8710 en notación científica

5 8 1 , 8 7

5 , 8 1 8 7

/ 102

La coma se mueve 2 veces hacia la

izquierda

Page 456: Tema 1: Introducción al curso - UJI

Notación científica decimal

• Expresa el número 581,8710 en notación científica

5 8 1 , 8 7

5 , 8 1 8 7

X 102/ 102

Page 457: Tema 1: Introducción al curso - UJI

Notación científica decimal

• Expresa el número 581,8710 en notación científica

5 8 1 , 8 7

5 , 8 1 8 7

X 102/ 102

La coma se mueve 2 veces hacia la

derecha

Page 458: Tema 1: Introducción al curso - UJI

Notación científica decimal

• 581,8710 = 5,818710 * 102

• Mantisa: 5,818710

• Base: 1010

• Exponente: 210

Page 459: Tema 1: Introducción al curso - UJI

Notación científica decimal

• 1521,068710 = 1,521068710 * 103

• Mantisa: 1,521068710

• Base: 1010

• Exponente: 310

Page 460: Tema 1: Introducción al curso - UJI

Notación científica decimal

• 0,0056410 = 5,6410 * 10-3

• Mantisa: 5,64 10

• Base: 1010

• Exponente: -310

Page 461: Tema 1: Introducción al curso - UJI

Notación científica decimal

• 0,0056410 = 5,6410 * 10-3

• Mantisa: 5,64 10

• Base: 1010

• Exponente: -310

5,64 * 10-3

= 5,64 / 103

Page 462: Tema 1: Introducción al curso - UJI

Notación científica decimal

• 10000000000000010 = 1,010* 1014

• Mantisa: 1,010

• Base: 1010

• Exponente: 1410

Page 463: Tema 1: Introducción al curso - UJI

Notación científica decimal

• 0,0000000000310 = 3,010 * 10-11

• Mantisa: 3,010

• Base: 1010

• Exponente: -1110

Page 464: Tema 1: Introducción al curso - UJI

Notación científicaBinario

Page 465: Tema 1: Introducción al curso - UJI

Notación científica binario

• Expresa el número 101,11012 en notación científica

1 0 1 , 1 1 0 1

X 210/ 210

1 0, 1 1 1 0 1

Page 466: Tema 1: Introducción al curso - UJI

Notación científica binario

• Expresa el número 101,11012 en notación científica

1 0 1 , 1 1 0 1

X 210/ 210

1 0, 1 1 1 0 1

1, 0 1 1 1 0 1

X 210/ 210

Page 467: Tema 1: Introducción al curso - UJI

Notación científica binario

• Expresa el número 101,11012 en notación científica

1 0 1 , 1 1 0 1

X 2210

/ 2210

1 , 0 1 1 1 0 1

Page 468: Tema 1: Introducción al curso - UJI

Notación científica binario

•101,11012 1,0111012 * 22

• Mantisa: 1,0111012

• Base: 210

• Exponente: 210

Page 469: Tema 1: Introducción al curso - UJI

Notación científica binario

1,0111012 * 22

Binario Decimal

Page 470: Tema 1: Introducción al curso - UJI

Notación científica binario

1,0111012 * 22

Binario Decimal

101,11012 1,0111012 * 22

Page 471: Tema 1: Introducción al curso - UJI

Notación científica binario

•10111,101012 1,0111101012 * 24

• Mantisa: 1,0111101012

• Base: 210

• Exponente: 410

Page 472: Tema 1: Introducción al curso - UJI

Notación científica binario

•10000000000002 1,02 * 212

• Mantisa: 1,02

• Base: 210

• Exponente: 1210

Page 473: Tema 1: Introducción al curso - UJI

Notación científica binario

•0,00110112 1,10112 * 2-3

• Mantisa: 1,10112

• Base: 210

• Exponente: -310

Page 474: Tema 1: Introducción al curso - UJI

Codificación de números reales

Page 475: Tema 1: Introducción al curso - UJI

Preparando formato IEEE754

Page 476: Tema 1: Introducción al curso - UJI

Formato IEEE754

•Pasos para codificar un número real enbinario usando IEEE754:

1. Codificar en binario la parte entera

2. Codificar en binario la parte fraccionaria

3. Representar en notación científica binaria el númeroresultante de la suma de los pasos 1 y 2.

4. Aplicar el formato IEEE754

Page 477: Tema 1: Introducción al curso - UJI

Formato IEEE754

• Expresa el número 5,37510 en binariousando notación científica:

Page 478: Tema 1: Introducción al curso - UJI

Formato IEEE754

• Expresa el número 5,37510 en binariousando notación científica:

• 510 1012

• 0,37510 0,0112

Page 479: Tema 1: Introducción al curso - UJI

Formato IEEE754

• Expresa el número 5,37510 en binariousando notación científica:

• 510 1012

• 0,37510 0,0112

0,012 0,2510

0,0012 0,12510

Page 480: Tema 1: Introducción al curso - UJI

Formato IEEE754

• Expresa el número 5,37510 en binariousando notación científica:

• 510 1012

• 0,37510 0,0112

• 5,37510 101,0112

Page 481: Tema 1: Introducción al curso - UJI

Formato IEEE754

• Expresa el número 5,37510 en binario usandonotación científica:

• 510 1012• 0,37510 0,0112

• 5,37510 101,0112

• 101,0112 1,010112 * 22

Resultado: 5,37510 1,010112 * 22

Page 482: Tema 1: Introducción al curso - UJI

Formato IEEE754

• Expresa el número 9,62510 en binariousando notación científica:

Page 483: Tema 1: Introducción al curso - UJI

Formato IEEE754

• Expresa el número 9,62510 en binariousando notación científica:

• 910 10012

• 0,62510 0,1012

Page 484: Tema 1: Introducción al curso - UJI

Formato IEEE754

• Expresa el número 9,62510 en binariousando notación científica:

• 910 10012

• 0,62510 0,1012

• 9,62510 1001,1012

Page 485: Tema 1: Introducción al curso - UJI

Formato IEEE754

• Expresa el número 9,62510 en binario usandonotación científica:

• 910 10012• 0,62510 0,1012

• 9,62510 1001,1012

• 1001,1012 1,0011012 * 23

Resultado: 9,62510 1,0011012 * 23

Page 486: Tema 1: Introducción al curso - UJI

IEEE754 32 bits

Page 487: Tema 1: Introducción al curso - UJI

Formato IEEE754 32 bits

0 31

Page 488: Tema 1: Introducción al curso - UJI

Formato IEEE754 32 bits

0 31

Signo Exponente Mantisa

1 9 10

Page 489: Tema 1: Introducción al curso - UJI

Formato IEEE754 32 bits

0 31

Signo Exponente Mantisa

• Signo: 1 bit, 0 positivo, 1 negativo

• Exponente: 8 bits, en Exceso Z, Z=127

• Mantisa: 23 bits. Únicamente dígitos a la derecha de la coma

(Todos números binarios reales empiezan por 1,…)

1 9 10

Page 490: Tema 1: Introducción al curso - UJI

Formato IEEE754 32 bits

• Expresa el número 5,37510 en binariousando IEEE754 de 32 bits:

Page 491: Tema 1: Introducción al curso - UJI

Formato IEEE754 32 bits

• Expresa el número 5,37510 en binariousando IEEE754 de 32 bits:

• 5,37510 1,010112 * 22

Page 492: Tema 1: Introducción al curso - UJI

Formato IEEE754 32 bits

• Expresa el número 5,37510 en binariousando IEEE754 de 32 bits:

• 5,37510 1,010112 * 22

• Signo: 0

• Exponente: 210 + 12710 = 12910 1000 00012

• Mantisa: 1,010112

Page 493: Tema 1: Introducción al curso - UJI

Formato IEEE754 32 bits

• Expresa el número 5,37510 en binariousando IEEE754 de 32 bits:

• 5,37510 1,010112 * 22

• Signo: 0

• Exponente: 210 + 12710 = 12910 1000 00012

• Mantisa: 1,010112

0

Page 494: Tema 1: Introducción al curso - UJI

Formato IEEE754 32 bits

• Expresa el número 5,37510 en binariousando IEEE754 de 32 bits:

• 5,37510 1,010112 * 22

• Signo: 0

• Exponente: 210 + 12710 = 12910 1000 00012

• Mantisa: 1,010112

0 1000 0001

Page 495: Tema 1: Introducción al curso - UJI

Formato IEEE754 32 bits

• Expresa el número 5,37510 en binariousando IEEE754 de 32 bits:

• 5,37510 1,010112 * 22

• Signo: 0

• Exponente: 210 + 12710 = 12910 1000 00012

• Mantisa: 1,010112

0 1000 0001 010 1100 0000 0000 0000 0000

Page 496: Tema 1: Introducción al curso - UJI

Formato IEEE754 32 bits

• Expresa el número 5,37510 en binariousando IEEE754 de 32 bits:

• 5,37510 1,010112 * 22

• Signo: 0

• Exponente: 210 + 12710 = 12910 1000 00012

• Mantisa: 1,010112

0100 0000 1010 1100 0000 0000 0000 0000

40AC0000

Page 497: Tema 1: Introducción al curso - UJI

Formato IEEE754 32 bits

• Expresa el número 5,37510 en binariousando IEEE754 de 32 bits:

Solución: 5,37510 40AC000016

Page 498: Tema 1: Introducción al curso - UJI

Formato IEEE754 32 bits

• Expresa el número 9,62510 en binariousando IEEE754 de 32 bits:

Page 499: Tema 1: Introducción al curso - UJI

Formato IEEE754 32 bits

• Expresa el número 9,62510 en binariousando IEEE754 de 32 bits:

• 9,62510 1,0011012 * 23

Page 500: Tema 1: Introducción al curso - UJI

Formato IEEE754 32 bits

• Expresa el número 9,62510 en binariousando IEEE754 de 32 bits:

• 9,62510 1,0011012 * 23

• Signo: 0

• Exponente: 310 + 12710 = 13010 1000 00102

• Mantisa: 1,0011012

Page 501: Tema 1: Introducción al curso - UJI

Formato IEEE754 32 bits

• Expresa el número 9,62510 en binariousando IEEE754 de 32 bits:

• 9,62510 1,0011012 * 23

• Signo: 0

• Exponente: 310 + 12710 = 13010 1000 00102

• Mantisa: 1,0011012

0

Page 502: Tema 1: Introducción al curso - UJI

Formato IEEE754 32 bits

• Expresa el número 9,62510 en binariousando IEEE754 de 32 bits:

• 9,62510 1,0011012 * 23

• Signo: 0

• Exponente: 310 + 12710 = 13010 1000 00102

• Mantisa: 1,0011012

0 1000 0010

Page 503: Tema 1: Introducción al curso - UJI

Formato IEEE754 32 bits

• Expresa el número 9,62510 en binariousando IEEE754 de 32 bits:

• 9,62510 1,0011012 * 23

• Signo: 0

• Exponente: 310 + 12710 = 13010 1000 00102

• Mantisa: 1,0011012

0 1000 0010 001 1010 0000 0000 0000 0000

Page 504: Tema 1: Introducción al curso - UJI

Formato IEEE754 32 bits

• Expresa el número 9,62510 en binariousando IEEE754 de 32 bits:

• 9,62510 1,0011012 * 23

• Signo: 0

• Exponente: 310 + 12710 = 13010 1000 00112

• Mantisa: 1,0011012

0100 0001 0001 1010 0000 0000 0000 0000

411A0000

Page 505: Tema 1: Introducción al curso - UJI

Formato IEEE754 32 bits

• Expresa el número 9,62510 en binariousando IEEE754 de 32 bits:

Solución: 9,62510 409A000016

Page 506: Tema 1: Introducción al curso - UJI

IEEE754 64 bits

Page 507: Tema 1: Introducción al curso - UJI

Formato IEEE754 64 bits

0 63

Page 508: Tema 1: Introducción al curso - UJI

Formato IEEE754 64 bits

0 63

Signo Exponente Mantisa

1 12 13

Page 509: Tema 1: Introducción al curso - UJI

Formato IEEE754 64 bits

0 63

Signo Exponente Mantisa

• Signo: 1 bit, 0 positivo, 1 negativo

• Exponente: 11 bits, en Exceso Z, Z=1023

• Mantisa: 52 bits. Únicamente dígitos a la derecha de la coma.

1 11 13

Page 510: Tema 1: Introducción al curso - UJI

Formato IEEE754 64 bits

0 63

Signo Exponente Mantisa

• Signo: 1 bit, 0 positivo, 1 negativo

• Exponente: 11 bits, en Exceso Z, Z=1023

• Mantisa: 52 bits. Únicamente dígitos a la derecha de la coma.

1 11 13 ¿1023?

2N-1-1 =

211-1-1 =

210-1 =

1024 - 1

Page 511: Tema 1: Introducción al curso - UJI

Formato IEEE754 64 bits

• Expresa el número 5,37510 en binariousando IEEE754 de 64 bits:

• 5,37510 1,010112 * 22

Page 512: Tema 1: Introducción al curso - UJI

Formato IEEE754 64 bits

• Expresa el número 5,37510 en binariousando IEEE754 de 64 bits:

• 5,37510 1,010112 * 22

• Signo: 0

• Exponente: 210 + 102310 = 102510 100 0000 00012

• Mantisa: 1,010112

Page 513: Tema 1: Introducción al curso - UJI

Formato IEEE754 64 bits

• Expresa el número 5,37510 en binariousando IEEE754 de 64 bits:

• 5,37510 1,010112 * 22

• Signo: 0

• Exponente: 210 + 102310 = 102510 100 0000 00012

• Mantisa: 1,010112

0

Page 514: Tema 1: Introducción al curso - UJI

Formato IEEE754 64 bits

• Expresa el número 5,37510 en binariousando IEEE754 de 64 bits:

• 5,37510 1,010112 * 22

• Signo: 0

• Exponente: 210 + 102310 = 102510 100 0000 00012

• Mantisa: 1,010112

0 100 0000 0001

Page 515: Tema 1: Introducción al curso - UJI

Formato IEEE754 64 bits

• Expresa el número 5,37510 en binariousando IEEE754 de 64 bits:

• 5,37510 1,010112 * 22

• Signo: 0

• Exponente: 210 + 102310 = 102510 100 0000 00012

• Mantisa: 1,010112

0 100 0000 0001 0101 1000 0000 0000 0000 …

Page 516: Tema 1: Introducción al curso - UJI

Formato IEEE754 64 bits

• Expresa el número 5,37510 en binariousando IEEE754 de 64 bits:

• 5,37510 1,010112 * 22

• Signo: 0

• Exponente: 210 + 102310 = 102510 100 0000 00012

• Mantisa: 1,010112

0 100 0000 0001 0101 1000 0000 0000 0000 …

¿…?

0’s hasta completar los 52 dígitos

Page 517: Tema 1: Introducción al curso - UJI

Formato IEEE754 64 bits

• Expresa el número 5,37510 en binariousando IEEE754 de 64 bits:

• 5,37510 1,010112 * 22

• Signo: 0

• Exponente: 210 + 102310 = 102510 100 0000 00012

• Mantisa: 1,010112

0100 0000 0001 0101 1000 0000 0000 0000 …

4015800000000000

Page 518: Tema 1: Introducción al curso - UJI

Formato IEEE754 64 bits

• Expresa el número 5,37510 en binariousando IEEE754 de 64 bits:

Solución: 5,37510 401580000000000016

Page 519: Tema 1: Introducción al curso - UJI

Formato IEEE754 64 bits

• Expresa el número 9,62510 en binariousando IEEE754 de 64 bits:

• 9,62510 1,0011012 * 23

Page 520: Tema 1: Introducción al curso - UJI

Formato IEEE754 64 bits

• Expresa el número 9,62510 en binariousando IEEE754 de 64 bits:

• 9,62510 1,0011012 * 23

• Signo: 0

• Exponente: 310 + 102310 = 102610 100 0000 00102

• Mantisa: 1,0011012

Page 521: Tema 1: Introducción al curso - UJI

Formato IEEE754 64 bits

• Expresa el número 9,62510 en binariousando IEEE754 de 64 bits:

• 9,62510 1,0011012 * 23

• Signo: 0

• Exponente: 310 + 102310 = 102610 100 0000 00102

• Mantisa: 1,0011012

0

Page 522: Tema 1: Introducción al curso - UJI

Formato IEEE754 64 bits

• Expresa el número 9,62510 en binariousando IEEE754 de 64 bits:

• 9,62510 1,0011012 * 23

• Signo: 0

• Exponente: 310 + 102310 = 102610 100 0000 00102

• Mantisa: 1,0011012

0 100 0000 0010

Page 523: Tema 1: Introducción al curso - UJI

Formato IEEE754 64 bits

• Expresa el número 9,62510 en binariousando IEEE754 de 64 bits:

• 9,62510 1,0011012 * 23

• Signo: 0

• Exponente: 310 + 102310 = 102610 100 0000 00102

• Mantisa: 1,0011012

0 100 0000 0010 0011 0100 000 0000 0000 …

Page 524: Tema 1: Introducción al curso - UJI

Formato IEEE754 64 bits

• Expresa el número 9,62510 en binariousando IEEE754 de 64 bits:

• 9,62510 1,0011012 * 23

• Signo: 0

• Exponente: 310 + 102310 = 102610 100 0000 00102

• Mantisa: 1,0011012

0100 0000 0010 0011 0100 000 0000 0000 …

4023400000000000

Page 525: Tema 1: Introducción al curso - UJI

Formato IEEE754 64 bits

• Expresa el número 9,62510 en binariousando IEEE754 de 64 bits:

Solución: 9,62510 402340000000000016

Page 526: Tema 1: Introducción al curso - UJI

De IEEE754 a decimal

Page 527: Tema 1: Introducción al curso - UJI

IEEE754 a decimal

• Expresa el número 447A080016 endecimal (el número está codificado enIEEE754):

Page 528: Tema 1: Introducción al curso - UJI

IEEE754 a decimal

• Expresa el número C47A080016 endecimal (el número está codificado enIEEE754):

1100 0100 0111 1010 0000 1000 0000 0000

Page 529: Tema 1: Introducción al curso - UJI

IEEE754 a decimal

• Expresa el número C47A080016 endecimal (el número está codificado enIEEE754):

1 100 0100 0 111 1010 0000 1000 0000 0000

Page 530: Tema 1: Introducción al curso - UJI

IEEE754 a decimal

• Expresa el número C47A080016 endecimal (el número está codificado enIEEE754):

1 100 0100 0 111 1010 0000 1000 0000 0000

Signo: negativo

Page 531: Tema 1: Introducción al curso - UJI

IEEE754 a decimal

• Expresa el número C47A080016 endecimal (el número está codificado enIEEE754):

1 100 0100 0 111 1010 0000 1000 0000 0000

Exponente: 100 0100 02 = 1000 10002 ≡ 13610

13610 -12710 = 910

Page 532: Tema 1: Introducción al curso - UJI

IEEE754 a decimal

• Expresa el número C47A080016 endecimal (el número está codificado enIEEE754):

1 100 0100 0 111 1010 0000 1000 0000 0000

Mantisa: 1, 111 1010 0000 1000 0000 0000

Page 533: Tema 1: Introducción al curso - UJI

IEEE754 a decimal

• Expresa el número C47A080016 endecimal (el número está codificado enIEEE754):

C47A080016 -1,1111010000012 * 29

Page 534: Tema 1: Introducción al curso - UJI

IEEE754 a decimal

• Expresa el número C47A080016 endecimal (el número está codificado enIEEE754):

C47A080016 -1,1111010000012 * 29

C47A080016 ≡ -1111101000,0012

Page 535: Tema 1: Introducción al curso - UJI

IEEE754 a decimal

• Expresa el número C47A080016 endecimal (el número está codificado enIEEE754):

C47A080016 -1,1111010000012 * 29

C47A080016 ≡ -1111101000,0012

11111010002 ≡ 100010

Page 536: Tema 1: Introducción al curso - UJI

IEEE754 a decimal

• Expresa el número C47A080016 endecimal (el número está codificado enIEEE754):

C47A080016 -1,1111010000012 * 29

C47A080016 ≡ -1111101000,0012

11111010002 ≡ 100010 0,0012 ≡ 0,12510

Page 537: Tema 1: Introducción al curso - UJI

IEEE754 a decimal

• Expresa el número C47A080016 endecimal (el número está codificado enIEEE754):

C47A080016 ≡ -1000,12510

Page 538: Tema 1: Introducción al curso - UJI

IEEE754 a decimal

• Expresa el número 4307F33316 endecimal (el número está codificado enIEEE754):

Page 539: Tema 1: Introducción al curso - UJI

IEEE754 a decimal

• Expresa el número 4307F33316 endecimal (el número está codificado enIEEE754):

0100 0011 0000 0111 1111 0011 0011 011

Page 540: Tema 1: Introducción al curso - UJI

IEEE754 a decimal

• Expresa el número 4307F33316 endecimal (el número está codificado enIEEE754):

0 100 0011 0 000 0111 1111 0011 0011 011

Page 541: Tema 1: Introducción al curso - UJI

IEEE754 a decimal

• Expresa el número 4307F33316 endecimal (el número está codificado enIEEE754):

0 100 0011 0 000 0111 1111 0011 0011 011

Signo: positivo

Page 542: Tema 1: Introducción al curso - UJI

IEEE754 a decimal

• Expresa el número 4307F33316 endecimal (el número está codificado enIEEE754):

0 100 0011 0 000 0111 1111 0011 0011 011

Exponente: 100 0011 02 = 1000 01102 ≡ 13410

13410 – 12710 = 710

Page 543: Tema 1: Introducción al curso - UJI

IEEE754 a decimal

• Expresa el número 4307F33316 endecimal (el número está codificado enIEEE754):

0 100 0011 0 000 0111 1111 0011 0011 011

Mantisa: 1, 000 0111 1111 0011 0011 011

Page 544: Tema 1: Introducción al curso - UJI

IEEE754 a decimal

• Expresa el número 4307F33316 endecimal (el número está codificado enIEEE754):

4307F33316 1,00001111111001100110112 * 27

Page 545: Tema 1: Introducción al curso - UJI

IEEE754 a decimal

• Expresa el número 4307F33316 endecimal (el número está codificado enIEEE754):

4307F33316 1,00001111111001100110112 * 27

4307F33316 ≡ 10000111,1111001100110112

100001112 ≡ 13510

Page 546: Tema 1: Introducción al curso - UJI

IEEE754 a decimal

• Expresa el número 4307F33316 endecimal (el número está codificado enIEEE754):

0,1111001100110112 ≡ 0,9510

4307F33316 1,00001111111001100110112 * 27

4307F33316 ≡ 10000111,1111001100110112

100001112 ≡ 13510

Page 547: Tema 1: Introducción al curso - UJI

IEEE754 a decimal

• Expresa el número 4307F33316 endecimal (el número está codificado enIEEE754):

4307F33316 ≡ 135,9510

Page 548: Tema 1: Introducción al curso - UJI

Codificación de caracteres alfanuméricos

Page 549: Tema 1: Introducción al curso - UJI

¿Qué es un carácter?

• “Buenos días”: • ‘B’ • ‘u’ • ‘e’ • ‘n’ • ‘o’ • ‘s’ • ‘ ‘ • ‘d’ • ‘í’ • ‘a’ • ‘s’

Page 550: Tema 1: Introducción al curso - UJI

¿Qué es un carácter?

• “Buenos días”: • ‘B’ • ‘u’ • ‘e’ • ‘n’ • ‘o’ • ‘s’ • ‘ ‘ • ‘d’ • ‘í’ • ‘a’ • ‘s’

Es una cadena de caracteres de 11 caracteres

Page 551: Tema 1: Introducción al curso - UJI

ASCII

Page 552: Tema 1: Introducción al curso - UJI

ASCII

•Primer intento

•Codifica el alfabeto latino para lengua inglesa

Page 553: Tema 1: Introducción al curso - UJI

ASCII

•Cada carácter 1 byte

Page 554: Tema 1: Introducción al curso - UJI

ASCII

•Cada carácter 1 byte

• En realidad 7 bits. El primer bit siempre a cero

• 27= 128 caracteres

Page 555: Tema 1: Introducción al curso - UJI

ASCII

•Cada carácter 1 byte

• En realidad 7 bits. El primer bit siempre a cero

• 27= 128 caracteres

• 33 caracteres de control

• 95 caracteres imprimibles

Page 556: Tema 1: Introducción al curso - UJI

ASCII

•Mayúsculas y minúsculas • Se diferencias en el tercer bit (3210)

• ‘R’: 0101 0010 (8210)

• ‘r’: 0111 0010 (11410)

Page 557: Tema 1: Introducción al curso - UJI

ASCII

•Números • Los 4 últimos bits en binario (N=4)

• ‘2’: 0011 0010

• ‘8’: 0011 1000

Page 559: Tema 1: Introducción al curso - UJI

ISO latin 1

Page 560: Tema 1: Introducción al curso - UJI

ISO latin 1

• Segundo intento

•Codifica la mayoría de lenguas de Europa occidental: • Castellano, Catalán, Alemán, Francés, etc.

• Incluye: Ñ, ¿, ç, etc.

Page 561: Tema 1: Introducción al curso - UJI

ISO latin 1

•Cada carácter 1 byte

• Usa los 8 bits

• 28 = 256 caracteres

Page 562: Tema 1: Introducción al curso - UJI

ISO latin 1

• Los caracteres ASCII se codifican igual en ISO latin 1

Page 563: Tema 1: Introducción al curso - UJI

ISO latin 1

•Hay muchos idiomas en la Tierra.

•Algunos (Chino) tienen muchos caracteres.

•256 no es suficiente

Page 565: Tema 1: Introducción al curso - UJI

UNICODE

Page 566: Tema 1: Introducción al curso - UJI

UNICODE

• Tercer intento y definitivo •Un código único para cada carácter

posible. • Incluye:

• todos los idiomas, actuales y antiguos. • Símbolos: musicales, matemáticos, etc.

Page 568: Tema 1: Introducción al curso - UJI

UNICODE

•ATENCIÓN:

NO ES UNA CODIFICACIÓN

Page 569: Tema 1: Introducción al curso - UJI

UTF-8

Page 570: Tema 1: Introducción al curso - UJI

UTF-8

•Codificación de caracteres UNICODE.

• Sistema de longitud variable.

Page 571: Tema 1: Introducción al curso - UJI

UTF-8

•UNICODE y UTF-8 no son lo mismo