Principios de

Programacion
Guía de trabajo 01

Universidad Santiago de Cali
Facultad de ingeniería Prof: Ing. Edwin J. Ortega Z. Colombia 2013

1

Programacion
Ing. Edwin J. Ortega El bit Un bit es una señal electrónica que viaja por un solo conductor y puede estar encendida (1) o apagada (0). Es la unidad más pequeña de información que utiliza un sistema procesado. Un dato de 8 bits se llama Byte, La mayoría de las veces los bits se utilizan para describir velocidades de transmisión, mientras que los bytes se utilizan para describir capacidad de almacenamiento o memoria. El funcionamiento es el siguiente: El circuito electrónico en los ordenadores detecta la diferencia entre dos estados (corriente alta y corriente baja) y representa esos dos estados como uno de dos números, 1 o 0. Estos básicos, alta/baja, ambos/o, si/no unidades de información se llaman bits. El término bit deriva de la frase dígito binario (en inglés binary digit). . El sistema binario El sistema de numeración binario utiliza sólo dos dígitos, el cero (0) y el uno (1). En una cifra binaria, cada dígito tiene distinto valor dependiendo de la posición que ocupe. El valor de cada posición es el de una potencia de base 2, elevada a un exponente igual a la posición del dígito menos uno. Se puede observar que, tal y como ocurría con el sistema decimal, la base de la potencia coincide con la cantidad de dígitos utilizados (2) para representar los números. De acuerdo con estas reglas, el número binario 1011 tiene un valor que se calcula así: 1*23 + 0*22 + 1*21 + 1*20 , es decir: 8 + 0 + 2 + 1 = 11 y para expresar que ambas cifras describen la misma cantidad lo escribimos así: 10112 = 1110 Conversión entre números decimales y binarios Convertir un número decimal al sistema binario es muy sencillo: basta con realizar divisiones sucesivas por 2 y escribir los restos obtenidos en cada división en orden inverso al que han sido obtenidos. Por ejemplo, para convertir al sistema binario el número 7710 haremos una serie de divisiones que arrojarán los restos siguientes: 77 : 2 = 38 Resto: 1 38 : 2 = 19 Resto: 0 19 : 2 = 9 Resto: 1 9 : 2 = 4 Resto: 1 4 : 2 = 2 Resto: 0 2 : 2 = 1 Resto: 0 1 : 2 = 0 Resto: 1 y, tomando los restos en orden inverso obtenemos la cifra binaria: 7710 = 10011012

Universidad Santiago de Cali MAP01

2

Programacion
Ing. Edwin J. Ortega Conversión de binario a decimal El proceso para convertir un número del sistema binario al decimal es aún más sencillo; basta con desarrollar el número, teniendo en cuenta el valor de cada dígito en su posición, que es el de una potencia de 2, cuyo exponente es 0 en el bit situado más a la derecha, y se incrementa en una unidad según vamos avanzando posiciones hacia la izquierda. Por ejemplo, para convertir el número binario 10100112 a decimal, lo desarrollamos teniendo en cuenta el valor de cada bit: 1*26 + 0*25 + 1*24 + 0*23 + 0*22 + 1*21 + 1*20 = 83 10100112 = 8310 El tamaño de las cifras binarias La cantidad de dígitos necesarios para representar un número en el sistema binario es mayor que en el sistema decimal. En el ejemplo del párrafo anterior, para representar el número 77, que en el sistema decimal está compuesto tan sólo por dos dígitos, han hecho falta siete dígitos en binario. Para representar números grandes harán falta muchos más dígitos. Por ejemplo, para representar números mayores de 255 se necesitarán más de ocho dígitos, porque 28 = 256 y podemos afirmar, por tanto, que 255 es el número más grande que puede representarse con ocho dígitos. Como regla general, con n dígitos binarios pueden representarse un máximo de 2n, números. El número más grande que puede escribirse con n dígitos es una unidad menos, es decir, 2n – 1. Con cuatro bits, por ejemplo, pueden representarse un total de 16 números, porque 24 = 16 y el mayor de dichos números es el15, porque 24-1 = 15. Unidades de información. Los sistemas de computo, al utilizar cifras binarias para el almacenamiento de su información, requieren un sistema de unidades propio para poder medir la cantidad de información almacenada, y de igual manera la cantidad de memoria que pueden procesar o trasmitir en un instante de tiempo, para lo cual existen las siguientes unidades de información: Bit: La unidad más pequeña de información en una computadora se le llama bit. Con un bit se puede representar solo un valor de dos posibles valores diferentes, ejemplo: cero o uno, falso o verdadero Nibble: Un nibble es una colección de 4 bits. No sería un tipo de dato interesante a excepción de que con un nibble se presenta un número BCD y también que un nibble puede representar un dígito hexadecimal. Byte: Sin lugar a dudas el tipo de datos más importante para los microprocesadores es el byte. Un byte consiste de 8 bits. Las referencias hacia cierta localidad de memoria en todos los microprocesadores nunca es menor que un byte, por lo tanto, se considera el dato localizable más pequeño. Los bits de un byte normalmente se numeran desde 0 hasta 7. El bit 0 se le llama bit de más bajo orden o menos significante, el bit 7 se considera el bit de más alto orden o el más significante. Un byte consta también de 2 nibbles, los bits 0, 1, 2 y 3 forman el llamado nibble de menor orden, y los bits 4, 5, 6 y 7 forman el nibble de mayor orden. Como un byte está formado de exactamente dos nibbles, es posible representar cualquier valor con dos dígitos hexadecimales.

Universidad Santiago de Cali MAP01

3

Programacion
Ing. Edwin J. Ortega Word: Una palabra es un grupo de 16 bits, el bit 0 es el bit de más bajo orden y el bit 15 es el de más alto orden. Una palabra se puede dividir en 2 bytes llamados igualmente de bajo y alto orden. También una palabra puede considerarse como un grupo de 4 nibbles. Se considera una palabra doble a un grupo de 32 bits. Un grupo de mayor número de bits simplemente se nombra por su número de bits, ejemplo: palabra de 64 bits, palabra de 128 bits, etc.. Sistema Hexadecimal Un gran problema con el sistema binario es la verbosidad. Para representar el valor 20210 se requieren ocho dígitos binarios, la versión decimal sólo requiere de tres dígitos y por lo tanto los números se representan en forma mucho más compacta con respecto al sistema numérico binario. Desafortunadamente las computadoras trabajan en sistema binario y aunque es posible hacer la conversión entre decimal y binario, ya vimos que no es precisamente una tarea cómoda. El sistema de numeración hexadecimal, o sea de base 16, resuelve este problema (es común abreviar hexadecimal como hex aunque hex significa base seis y no base dieciseis). El sistema hexadecimal es compacto y nos proporciona un mecanismo sencillo de conversión hacia el formato binario, debido a ésto, la mayoría del equipo de cómputo actual utiliza el sistema numérico hexadecimal. Como la base del sistema hexadecimal es 16, cada dígito a la izquierda del punto hexadecimal representa tantas veces un valor sucesivo potencia de 16, por ejemplo, el número 123416 es igual a: 1*163 + 2*162 + 3*161 + 4*160 lo que da como resultado: 4096 + 512 + 48 + 4 = 466010 Cada dígito hexadecimal puede representar uno de dieciséis valores entre 0 y 1510. Como sólo tenemos diez dígitos decimales, necesitamos inventar seis dígitos adicionales para representar los valores entre 1010 y 1510. En lugar de crear nuevos símbolos para estos dígitos, utilizamos las letras A a la F. La conversión entre hexadecimal y binario es sencilla, considere tabla Esta tabla contiene toda la información necesaria para convertir de binario a hexadecimal y visceversa. Para convertir un número hexadecimal en binario, simplemente sustituya los correspondientes cuatro bits para cada dígito hexadecimal, por ejemplo, para convertir 0ABCDh en un valor binario:

0 0000

A 1010

B 1011

C 1100

D 1101

(Hexadecimal) (Binario)

Universidad Santiago de Cali MAP01

4

Programacion
Ing. Edwin J. Ortega Múltiplos y submúltiplos En muchas ocasiones, y dado que carece de sentido Múltiplos expresar el resultado de una medida en la unidad Símbolo correspondiente del Sistema Internacional, se Factor Prefijo recurre al empleo de múltiplos y submúltiplos. 1018 exa E No tendría mucho sentido expresar la distancia entre la Tierra y la Luna en metros, ni tampoco sería adecuado utilizar esta unidad para medir el grosor de un cabello. La tabla adjunta submúltiplos del Unidades. contiene Sistema los múltiplos y Internacional de 1015 10
12 9 6 3

Submúltiplos Símbolo Factor Prefijo 10-18 atto 10-15 10
-12 -9 -6 -3

a f p n µ m c d

peta tera giga mega kilo hecto deca

P T G M k h da

femto pico nano micro mili centi deci

10 10 10 10

10 10 10 10

102
1

10-2
-1

Puesto que hay medidas tan grandes y tan pequeñas, para facilitar los cálculos, las medidas suelen expresarse mediante lo que se conoce como notación científica. El Código ASCII El código ASCII (siglas en ingles para American Standard Code for Information Interchange, es decir Código Americano ( Je! lease estadounidense... ) Estándar para el intercambio de Información ) ( se pronuncia Aski ). Fue creado en 1963 por el Comité Estadounidense de Estándares o "ASA", este organismo cambio su nombre en 1969 por "Instituto Estadounidense de Estándares Nacionales" o "ANSI" como se lo conoce desde entonces. Este código nació a partir de reordenar y expandir el conjunto de símbolos y caracteres ya utilizados en aquel momento en telegrafía por la compañía Bell. En un primer momento solo incluía letras mayúsculas y números, pero en 1967 se agregaron las letras minúsculas y algunos caracteres de control, formando así lo que se conoce como US-ASCII, es decir los caracteres del 0 al 127. Así con este conjunto de solo 128 caracteres fue publicado en 1967 como estándar, conteniendo todos lo necesario para escribir en idioma ingles. Casi todos los sistemas informáticos de la actualidad utilizan el código ASCII para representar caracteres y textos.

1. 2. 3. 4.

Actividad en clase. Averigua cuántos números pueden representarse con 8, 10, 16 y 32 bits y cuál es el número más grande que puede escribirse en cada caso. Dados dos números binarios: 01001000 y 01000100 ¿Cuál de ellos es el mayor? ¿Podrías compararlos sin necesidad de convertirlos al sistema decimal? A cuanto equivale el numero 3DFh en sistema binario y sistema decimal. Con base en la tabla de conversión hexadecimal y el conjunto de caracteres ASCI convierte tu primer nombre a sistema hexadecimal.

Universidad Santiago de Cali MAP01

5

Programacion
Ing. Edwin J. Ortega

Conjunto de caracteres ASCII Dec 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Sym NUL SOH STX ETX EOT ENQ ACK BEL BS TAB LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US Dec 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 Char ! " # $ % & ' ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? Dec 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 Char @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ Dec 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 Char ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~

Universidad Santiago de Cali MAP01

6