Está en la página 1de 14

PRIMER CICLO

UNIVERSIDAD TECNICA DE MANABÍ


FACULTAD DE CIENCIAS INFORMÁTICAS
ASIGNATURA:
FUNDAMENTOS DE PROGRAMACIÓN
DOCENTE: PERIODO
SEPTIEMBRE 2022
Ing. Fabricio Santana, M. Sc FEBRERO 2023

Líder de área de programación: Ing. Gabriel Demera U.


UNIDAD 2 PRIMER CICLO
Facultad de Ciencias Informáticas
“Fundamentos de Programación”

TEMA: ESTRUCTURA Y CALCULO BINARIO DE


LOS TIPOS DE DATOS NUMERICOS

OBJETIVO DE LA UNIDAD:

Entender cómo y porqué existen los tipos de datos


alfanuméricos y numéricos
Aplicar cálculos binarios cómo método de entendimiento
para entender cómo realiza los cálculos el computador.
Recordemos sobre los diferentes tipos de datos:
Los tipos de datos se clasifican en:
• Alfanuméricos (char) solo para identificar letras, dígitos y símbolos (Caracteres)
• Numéricos (int, Long, float, double) exclusivos para realizar cálculos
Tamaño en memoria
Tipo de dato: (byte) Límites de almacenamiento
void 0
int 2 -32768 a 32767
short int 1 -128 a 127
unsigned int 2 0 a 65535
long int 4 -2147483648 a 2147483647
unsigned long 4 0 a 4294967295
float 4 3.4x10-38 a 3.4x1038 Dependiendo del tamaño de
double 8 1.7x10-308 a 1.7x10308 almacenamiento de los tipos de datos en
long double 10 3.4x10-4932 a 1.1x104932 la RAM es la capacidad de cálculo que
char 1 0 a 255 (código único por carácter) este ofrece
Unidades de medida para la información:
Unidades de medida Abreviatura Equivalencia Descripción
1 Bit B 1(uno) o 0 (cero) Sistema de numeración binaria.
1 Byte B 8 bits Letra, símbolo, dígito (carácter).
1 Kilobyte KB 1024 Byte Mil caracteres.
1 Megabyte MB 1024 Kilobyte Un millón de caracteres.
1 Gigabyte GB 1024 Megabyte Mil millones de caracteres.
1 Terabyte TB 1024 Gigabyte Un billón de caracteres.
Tipo de dato alfanumérico:
 Técnicamente en la memoria, cada carácter se Los códigos ASCII, son la primera representación de códigos únicos:
almacena utilizando su código único
Por ejemplo, suponga que desea almacenar la palabra
Portoviejo en una variable:
char ciudad[15]=“Portoviejo”;
El contenido de la memoria sería así:

No almacena el
dibujo de las
letras sino su
código único

Tenga en cuenta que la


computadora trabaja
con bit, así que el
almacenamiento sería
de esta forma:
Diferencia entre los códigos existentes (alfanumérico):
Los códigos ASCII se clasifican en 3
grupos:
Los primeros 31 códigos y el código 127
no representan símbolos de escritura
sino acciones o controles
Los códigos desde el 32 hasta el 126 son
los símbolos básicos utilizados para la
escritura en el idioma inglés, pero esto
no era útil para los otros idiomas que
utilizan letras tildadas u otros símbolos
IBM intento mejorar el código ASCII
ampliándolo a 255 códigos se le
denominó ANSI, la mayoría de los
productores de tecnología respetan los
127 códigos pero de ahí en adelante han
creado sus propias numeraciones de
códigos

Esto lo puede evidenciar enviando un


mensaje de texto, desde un celular de
una marca a otro celular de otra marca
con vocales tildadas u otros símbolos,
notará que no llegó igual como lo envió
por la diferencia de códigos
Diferencia entre los códigos existentes (alfanumérico):
Los desarrolladores de
tecnología acordaron
desarrollas un solo estándar
de códigos y crearon la tabla
UNICODE con más de 16
millones de códigos, que
incluye símbolo de todas las
escrituras el mundo
UNICODE cuyo estándar más
utilizado es UTF-8 o ISO-
8859, que por la gran
cantidad de símbolos utiliza
16 bit de codificación única
Este estándar no fue
aceptado por la empresa
Microsoft y que tienen sus
propios códigos, esto generó
la falta de compatibilidad
entre diferentes empresas
desarrolladoras de
tecnología
Diferencia entre los códigos existentes (alfanumérico):
Windows-1252 o CP-
1252 es una
codificación de
caracteres del alfabeto
latino, usada por
defecto cuando
UNICODE no se usa en
los componentes
oficiales de Microsoft
Windows en inglés y en
algunos lenguajes
occidentales

Es importante destacar
que todos los
desarrolladores de
tecnologías respetan
los primeros 127
códigos del estándar
ASCII
Datos numéricos:
Los códigos que identifican a los dígitos del 0
al 9 van desde el 48 al 57 por lo tanto no
sirven para realizar cálculos de ningún tipo, los
códigos solo identifican al dibujo del carácter.

Si se necesita realizar una suma como 1+1, obligatoriamente


implicaría los códigos 49 + 49.
¿Dónde o cómo dará 2 de resultado? ¡Ahora imagine sumar
cantidades de más de un dígito!
¿Cómo hace el computador para realizar los cálculos?
Los datos numéricos obligatoriamente deben ser transformado de decimal a una expresión binaria calculable con
la finalidad de almacenarlos en memoria, y de binario a decimal para mostrarlo en pantalla
Los siguientes caracteres en lenguaje C sirven para este propósito:
%d o %i → para transformar a tipo int (de entero decimal a binario o viceversa, utilizando 2 byte de espacio en la RAM)
%ld → para transformar a tipo long (de entero decimal a binario o viceversa, utilizando 4 byte de espacio en la RAM)
%f → para transformar a tipo float (de valores con decimales a binario o viceversa, utilizando 4 byte de espacio en la RAM)
%lf → para transformar a tipo double (de valores con decimales a binario o viceversa, utilizando 8 byte de espacio en la RAM)
La computadora trabaja con el sistema binario (0 y 1)
Podemos concluir: Con el sistema binario se almacenan los caracteres (8 bit) en códigos decimales (códigos ASCII)
Los valores representados en códigos ASCII deben ser transformados de decimal a binario
calculable y viceversa (Utilizando %d,%i,%ld,%f,%lf)
Datos numéricos, conversión de tipo de datos int:
Suponga que desea realizar la suma de dos números, ¿Cómo hace el computador para encontrar el resultado?
int a, b, c; //se crean las tres variables.
a = 317; //la variable a toma 317.
b = 126; //la variable b toma 126.
c = a + b; //la variable c tomará el resultado de sumar a y b.
Las variables con tipo de dato int tienen 2 byte de espacio en la RAM para poder realizar cualquier cálculo, es decir posee 16
posiciones, considere que cada byte posee 8 bit u 8 posiciones
16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
Signo 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1 El proceso de transformación de decimal a
0 0 0 0 0 0 0 1 0 0 1 1 1 1 0 1 a=317 binario ubica los UNOS donde la sumatoria
0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 b=126
de sus posiciones dan el valor a transformar
Cero (0) significa positivo / Uno (1) significa negativo

Los datos transformados son almacenados en la memoria RAM de la siguiente forma:

¿Qué pasaría si se llenan de unos todas las posiciones?


Signo 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 = 32767

Los tipos de datos int base, pueden almacenar desde -32768 hasta 32767 porque solo tiene 2 byte de espacio
Datos numéricos, cálculo de tipo de datos int:
Signo 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1 Reglas para sumar 2 números binarios:
1 1 1 1 1 La suma se realiza de derecha a izquierda.
0 0 0 0 0 0 0 1 0 0 1 1 1 1 0 1 a=317 0+1 ó 1+0 es igual a 1.
0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 b= 126 0+0 es igual a 0.
0 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 c= 443 1+1 es igual a 0 llevando 1. Recuerde que
int a, b, c; int a, b, c; en binario no existe el 2
a = 317; a = 317; 1+1+1 es igual a 1 llevando 1.
b = 126; b = 126;
c = a + b; c = a - b;
Para aplicar la resta, el valor de (b) debe ser transformado a un valor negativo aplicando las siguientes reglas:
De derecha a izquierda se escribe igual hasta
Signo 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1
encontrar el primer 1.
0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 b =126
1 1 1 1 1 1 1 Pasando el primer 1 encontrado se transforma
1 1 0 0 0 0 0 1 0 -b los ceros en unos y los unos en ceros.

Después de transformar el valor positivo de la variable b=126 a un valor negativo b=-126 se realiza la suma igual que el ejemplo anterior:

Signo 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1


1 1 1 1 1 1 1
0 0 0 0 0 0 0 1 0 0 1 1 1 1 0 1 a= 317
1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 0 b= -126
0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 c= 191
Observaciones sobre los tipos de datos enteros:
La Unidad Central de Proceso (CPU) tiene registros internos, los primeros cuatro, AX, BX,
CX y DX, son de uso general y se pueden usar también como registros de 8 bits. Es decir,
AX se puede dividir en AH (byte alto, High) y AL (byte bajo, Low)

Los tipos de datos han variado según ha incrementado la capacidad de procesamiento de


los Microprocesadores

Por ejemplo, los primeros IDE de lenguaje C utilizaron procesadores de 16 bit de


procesamiento, por esta razón el tipo de datos int utilizan 2 byte de procesamiento
(limitada respuesta de cálculo -32768 a 32767), con Microprocesadores de 32 bit de
procesamiento el tipo de datos int utilizan 4 byte de procesamiento incrementando la
capacidad de almacenamiento y procesamiento de este tipo de dato.

Con la evolución tecnológica, se esperan tipos de datos con mayor capacidad


de almacenamiento y procesamiento de cálculo, ya que en la actualidad los
microprocesadores son de 64 bit de procesamiento.
CONCLUSIONES
 La información en informática se mide en base al número de caracteres - byte (códigos) que posee cada archivo o
documento almacenado en un dispositivo inteligente.
 La computadora trabaja con chispas eléctricas (1 significa presencia de corriente, 0 significa ausencia del mismo) llamadas
bit, así la combinación de 8 bit forman un byte o un carácter, el mismo que se almacena o se representa por medio de un
código único.
 Existen varios tipos de estándares de códigos que no coinciden las representaciones de valores con las gráficas de los
caracteres, los más populares son UNICODE y Windows-1252, es importante destacar que todos los estándares respetan los
primero 127 códigos del estándar ASCII.
 Para que los microprocesadores puedan realizar los cálculos necesitan transformar de código a binario calculable y viceversa
para mostrar los resultados.
 Para entender los límites de almacenamiento en los tipos de datos como resultado de los cálculos, se usa la transformación
de decimal a binario y viceversa mediante la tabla de ubicación de valores: … 128 64 32 16 8 4 2 1. La tabla se
escribe de derecha a izquierda empezando con el uno y la siguiente posición será el doble de la anterior, por ejemplo los
datos de tipo int ocupan 2 byte o 16 posiciones de valores.
 El procesador de la computadora solo sabe sumar y comparar, la resta es también una suma entre un número positivo y un
número negativo, la multiplicación son sumas sucesivas y la división son restas sucesivas.
 Para desarrollar la sumar se aplican las siguientes reglas: 0+1 o 1+0 dará 1, 0+0 dará 0 y 1+1 dará 0 llevando 1 a la izquierda
 Para transformar un binario positivo a un binario negativo, se realiza bit a bit de derecha a izquierda, primero se escribe
igual hasta encontrar el primer 1, a partir del siguiente bit se invierten, los unos se hacen ceros y los ceros se hacen unos.
PRIMER CICLO
Facultad de Ciencias Informáticas
“Fundamentos de Programación”

MATERIAL EXTRA DE APOYO


Los tipos de datos en C:
https://www.youtube.com/watch?v=Q5-qQ3L4_Bw
Suma binaria:
https://www.youtube.com/watch?v=2WtqivPA4tk
Resta binaria:
https://www.youtube.com/watch?v=t_vpFwPReXk
¿Qué es el microprocesador?
https://www.youtube.com/watch?v=S-NCGgLDz9A
https://www.youtube.com/watch?v=smYnd5Kq2tU
PRIMER CICLO
Facultad de Ciencias Informáticas
“Fundamentos de Programación”

También podría gustarte