You are on page 1of 26

Programación

Sistema Binario:
representación y operaciones
Sistema numérico computacional
Los sistemas computacionales solo pueden entender
apagado y encendido, lo que digitalmente se traduce en 0s
y 1s. A estas unidades mínimas de información se les
conoce como bit.
Para representar el mundo real en las computadoras se
hace uso del sistema binario. Para que un humano pueda
comprender de manera más fácil este sistema, se hacen
conversiones a sistemas como el octal o el hexadecimal.
Cambio entre bases:
decimal a binario
Para pasar del sistema decimal al sistema binario se
realizan divisiones consecutivas por dos (2), y se verifica
si el residuo de la división es par (0) o impar (1). El
proceso se repite hasta que la parte entera del cociente
sea 0. El número se escribe de abajo hacia arriba.

Ejemplo: Pasar de decimal a binario 15, 27, 45 y 120.


Cambio entre bases:
decimal a binario
39 2 Impar
1 19 2 Impar
1 9 2 Impar
1 4 2 Par
0 2 2 Par
0 1 2 Impar
1 0

Resultado: 39 decimal = 100111b


Cambio entre bases:
binario a decimal
Dado que los sistemas numéricos son ponderados (la
posición del dígito importa), lo que se debe hacer para
pasar del sistema binario al decimal son las sumas del
valor binario multiplicados por dos (2) elevado a la
potencia de su posición (empezando en 0).

Ejemplo: 01100001b, 11111111b, 1011b y 111101b.


Cambio entre bases:
binario a decimal
100111b

1x25 + 0x24 + 0x23 + 1x22 + 1x21 + 1x20

32 + 0 + 0 + 4 + 2 + 1 = 39

Resultado: 100111b = 39 decimal


Cambio entre bases:
binario a hexadecimal
El sistema hexadecimal está muy relacionado con el sistema
binario. Permite escribir de manera más corta una cadena
binaria.

Para convertir de binario a hexadecimal se debe tomar de a


cuatro (4) bits (nibble) y realizar su conversión a
hexadecimal.
Cambio entre bases:
binario a hexadecimal
Binario HEX Binario HEX
0000 0 1000 8
0001 1 1001 9
0010 2 1010 A
0011 3 1011 B
0100 4 1100 C
0101 5 1101 D
0110 6 1110 E
0111 7 1111 F
Cambio entre bases:
binario a hexadecimal
Representar 00110110b en hexadecimal:

0011 0110

Revisando la tabla anterior:


3 6

Resultado: 00110110b = 0x36


Números con signo:
complemento a 1
Para representar un número negativo con complemento a
1 solo es necesario cambiar los 0 por 1 y viceversa.
Su desventaja es que existen dos representaciones del
cero en decimal.

Si el bit más significativo es 1, el número es negativo, de


lo contrario, es positivo.

https://es.wikipedia.org/wiki/Complemento_a_uno
Números con signo:
complemento a 1
Encontrar el número -14 en complemento a 1:

1. Se busca la representación binaria del 14 positivo:

14 = 01110

2. Se cambian 0 por 1 y viceversa:

-14 = 10001
Resultado: -14 = 10001
Números con signo:
complemento a 2
Resuelve el problema de dos ceros del complemento a 1.
Para calcularlo, se busca el primer uno de la cadena y a
partir de ahí se aplica complemento a uno.

Si el bit más significativo es 1 el número es negativo, de


lo contrario, es positivo.

https://es.wikipedia.org/wiki/Complemento_a_dos
Números con signo:
complemento a 2
Encontrar el número -14 en complemento a 2:
1. Se busca la representación binaria del 14 positivo:
14 = 01110
2. Se busca el primer 1:
01110
3. Después del primer 1, se cambian 0 por 1 y viceversa, el resto
queda igual:
10010

Resultado: -14 = 10010


Bit de paridad
La paridad de un número binario hace referencia al
número de 1s que contiene la variable.
Paridad par → si el número de 1s es impar, el resultado es 1, de lo
contrario, 0.

Paridad impar → si el número de 1s es impar, el resultado es 0, de lo


contrario, 1.

Es usado para detectar errores en una transmisión de datos.


Generalmente se pone al final de los bits.
Bit de paridad
Determinar la paridad de 11011010b:

Paridad par
1. Se cuenta el número de 1:
11011010b  tiene cinco 1, por lo que la paridad par es 1
110110101b

Paridad impar
11011010b  tiene cinco 1, por lo que la paridad impar es 0
110110100b
Tipos de datos
Dado que un computador solo acepta sistema binario, es necesario poder
diferenciar entre números y caracteres. los diferentes tipos de datos que
existen son:
Byte (B): es la medida de las demás variables. Está compuesto por 8 bits.
Char: almacena un caracter. Tiene un tamaño de 1B.
Int: número entero. Puede ser con signo o sin signo. Tiene un tamaño de 2B.
Float: número con punto flotante (decimales). Puede ser con signo o sin signo. Tiene un
tamaño de 4B.
Double: número de doble precisión. Tiene incluido el signo. Tiene un tamaño de 8B.
Booleano: dato que solo puede tomar dos valores, verdadero (1) o falso (0). Tiene un
tamaño de 1 bit solamente.
Tipos de datos
Tipo de dato Tamaño en memoria Rango de valores
char 1 Byte -128 a +127
int 2 Bytes -32768 a +32767
float 4 Bytes -3.4e38 a +3.4e38
double 8 Bytes -1.7e38 a +1.7e38
boolean 1 bit 0-1
Estos son los valores más comunes. Pueden Variar dependiendo del
lenguaje de programación.
Representación de caracteres
Tabla ASCII:
Es el estándar para la
representación de caracteres
latinos (char).

Originalmente solo se usaba 7


bits. Ahora es normal encontrarlo
de 8 bits (ASCII extendido) para
incluir caracteres especiales como
los del español (ñ, ¿, ¡, á, é, í, ó, ú,
entre otros).
http://michelletorres.mx/wp-content/uploads/2014/09/Tabla-ASCII.png
Cadenas de caracteres

Es un arreglo de caracteres que sirve para representar palabras.


Su comportamiento es similar al de un vector en álgebra lineal:
[‘H’ , ’O’ , ’L’ , ’A’]

Cada una de las posiciones representa un espacio en memoria


del tamaño de un caracter (1B). Cada espacio depende del
siguiente.

http://michelletorres.mx/wp-content/uploads/2014/09/Tabla-ASCII.png
Cadenas de caracteres
Es parecido a una cadena de caracteres, solo que en este
caso almacena información numérica.
[1 , 5 , 3 , -4]

También puede ser con elementos de punto flotante:


[1.00 , 5.23 , 3.32 , -4.98]

Cada espacio es independiente del siguiente.

http://michelletorres.mx/wp-content/uploads/2014/09/Tabla-ASCII.png
Variables
Es una posición en la memoria (secuencias de unos y ceros de
tamaño fijo) a la cual se le hace referencia con un nombre
(identificador) donde un programador puede almacenar datos y
más tarde recuperar los datos utilizando el “nombre” de la variable
(identificador)

• Los programadores pueden escoger los nombres de las variables

• La variable conserva el valor hasta que no sea cambiado con otra


instrucción (Se puede cambiar el contenido de la variable (valor))

http://michelletorres.mx/wp-content/uploads/2014/09/Tabla-ASCII.png
Palabras reservadas
False def if raise
None del import return
True elif in try
and else is while
as except lambda with
assert finally nonlocal yield
break for not
class from or
continue global pass
http://michelletorres.mx/wp-content/uploads/2014/09/Tabla-ASCII.png
Herramientas

http://michelletorres.mx/wp-content/uploads/2014/09/Tabla-ASCII.png
Herramientas

http://michelletorres.mx/wp-content/uploads/2014/09/Tabla-ASCII.png
Herramientas

http://michelletorres.mx/wp-content/uploads/2014/09/Tabla-ASCII.png