SlideShare una empresa de Scribd logo
1 de 4
Enteros
Los enteros son el tipo de dato más primitivo en C. Se usan para representar números
enteros. Pero siempre se pueden encontrar otras aplicaciones para los números enteros.
En general se pueden usar para representar cualquier variable discreta.
Los tipos de datos enteros son: short, int, long y long long , cada uno representando un
número entero de un tamaño o capacidad determinado. Según el compilador y la plataforma
de hardware, cada uno de estos tipos de dato puede ocupar desde 1 byte hasta 8 bytes en
memoria (para más detalles busca en la referencia).
Además, el lenguaje C hace la distinción de si el entero es con signo ( signed ) o sin signo
(unsigned ). En caso de que no se declare si es con signo o sin signo, se toma con signo.
Algunos ejemplos de declaraciones de enteros:
int a;
unsigned int a;
signed long a;
signed long long a = 10000000;
Todos los números son representados en memoria mediante una cadena de bits. En el caso
de los números con signo, el bit más significativo es el que se usa para representar el
signo. La representación de los números negativos se realiza mediante el complemento a
dos, que es una técnica que permite operar con los números negativos de forma lógica.
A modo de ejemplo, la representación en memoria del número -8 en una variable de 2
bytes, entera, con signo, sería la siguiente:
1111111111111000
Flotantes
Se denomina flotantes a los tipos de datos que representan a los números reales, ya que
utilizan un sistema de representación basado en la técnica de coma flotante, que permite
operar con números reales de diversas magnitudes, mediante un número decimal
llamado mantisa y un exponente que indica el orden de magnitud.
El tipo de dato flotante en lenguaje C sólo tiene dos tamaños: el float y el double , que son
4 bytes y 8 bytes respectivamente. Se los puede utilizar tanto para representar números
decimales, como para representar números enteros con un orden de magnitud muy grande.
La forma de declarar una variable flotante es escribiendo en una línea uno de los tipos de
datos flotantes y a continuación el nombre de la variable y tal vez algún valor que se les
quiera dar.
Algunos ejemplos:
float a;
double a = 1e23;
double a = 3.1416;
float a = 4e-9;
double a = -78;
Hay que tener en cuenta que aunque los valores flotantes son más convenientes para
algunas aplicaciones, hay casos en los que se prefieren los enteros. Esto se debe a que los
números flotantes no necesariamente tienen soporte de hardware, en particular en las
plataformas integradas. Una alternativa que se utiliza en estas situaciones es interpretar
los enteros como decimales de forma que 150 se interprete como 1.5 y 2345 como 23.45.
Para el caso de los flotantes de 4 bytes, se utiliza 1 bit para el signo, 8 bits para el
exponente y 23 bits para el valor del número. El procedimiento para almacenar un número
en una variable flotante es el siguiente:
1. Se convierte a binario la parte entera.
2. Se coloca el signo en el bit más significativo de la misma manera que en los enteros
(1 para el - y 0 para el +).
3. Se mueve la coma (en la representación binaria de la parte entera) hasta que esté
a la derecha del primer uno y éste se descarta (el uno más significativo). El valor
del exponente será el número de posiciones que se movió la coma. El exponente usa
la representación de un entero con complemento a dos.
4. Se convierte en binario la parte decimal del número. Esto usando el peso de los
bits. el bit decimal más significativo vale 1/2, el siguiente vale 1/4, el otro 1/8, el
otro 1/16 y así hasta completar lo que falta para los 23bits del valor.
5. Se concatena todo y ese es el valor flotante representado en memoria.
Caracteres
Los caracteres se representan utilizando el tipo char, que tiene sólo 1 byte de tamaño.
Este tipo se utiliza para representar los 256 caracteres de la tabla de caracteres del
sistema. El tipo char es también un tipo entero, ya que puede tomar valores de 0 a 255.
Por lo tanto también puede ser signed o unsigned .
En cuanto a la forma de declarar variables de tipo char es la misma forma que con los
otros tipos.
char a;
char a = 's';
unsigned char a = 48;
Como puedes ver, se le puede asignar un número a una variable char, ya que se trata de un
tipo entero. En muchas situaciones se utiliza el tipo char para almacenar números
pequeños, ya que ocupa en memoria sólamente un byte.
Es importante notar que con la llegada de la codificación UTF-8, los caracteres de los
diversos idiomas pueden ocupar 1, 2, 3 o 4 bytes, de modo que el tipo char ya no alcanza
para la representación de todos los caracteres posibles. Por ello, el estándar C99
introduce el tipo wchar que puede ocupar más de 1 byte, según sea necesario para la
codificación utilizada por el sistema.

Más contenido relacionado

La actualidad más candente (17)

Tipos de Datos para C++
Tipos de Datos para C++Tipos de Datos para C++
Tipos de Datos para C++
 
Codigo Hamming
Codigo HammingCodigo Hamming
Codigo Hamming
 
Teoría de códigos saira isaac
Teoría de códigos   saira isaacTeoría de códigos   saira isaac
Teoría de códigos saira isaac
 
Unidad didã¡ctica ii sistemas numericos
Unidad didã¡ctica ii sistemas numericosUnidad didã¡ctica ii sistemas numericos
Unidad didã¡ctica ii sistemas numericos
 
Curso básico de ensamblador
Curso básico de ensambladorCurso básico de ensamblador
Curso básico de ensamblador
 
Curso basico de emsamblador
Curso basico de emsambladorCurso basico de emsamblador
Curso basico de emsamblador
 
Códigos y Modos de Transmisión de Datos
Códigos y Modos de Transmisión de DatosCódigos y Modos de Transmisión de Datos
Códigos y Modos de Transmisión de Datos
 
Codigo de transmision
Codigo de transmisionCodigo de transmision
Codigo de transmision
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 
Teoría de códigos
Teoría de códigosTeoría de códigos
Teoría de códigos
 
Diapositivas
DiapositivasDiapositivas
Diapositivas
 
Codigo(s) Binario (Numericos)
Codigo(s) Binario (Numericos)Codigo(s) Binario (Numericos)
Codigo(s) Binario (Numericos)
 
Aritmética de Computadores
Aritmética de ComputadoresAritmética de Computadores
Aritmética de Computadores
 
Tipo de datos_para_c++
Tipo de datos_para_c++Tipo de datos_para_c++
Tipo de datos_para_c++
 
Hamming y CRC
Hamming y CRCHamming y CRC
Hamming y CRC
 
Tipos de datos ok
Tipos de datos okTipos de datos ok
Tipos de datos ok
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 

Destacado

La rosa y el sapo
La rosa  y  el sapoLa rosa  y  el sapo
La rosa y el sapo1998amilcar
 
PROYECTO DE QUIMICA 3 ''F'' E.S.T.107 N.L. #8
PROYECTO DE QUIMICA 3 ''F'' E.S.T.107 N.L. #8 PROYECTO DE QUIMICA 3 ''F'' E.S.T.107 N.L. #8
PROYECTO DE QUIMICA 3 ''F'' E.S.T.107 N.L. #8 fridacs2
 
Diplomado formación y actualización docente
Diplomado formación y actualización docenteDiplomado formación y actualización docente
Diplomado formación y actualización docentejmaganaorama
 
Charlas febrero 2011
Charlas febrero 2011Charlas febrero 2011
Charlas febrero 2011Alina Merino
 
Manual test de bender koppitz
Manual test de bender koppitzManual test de bender koppitz
Manual test de bender koppitzAngiepb30
 
Assistant store manager performance appraisal
Assistant store manager performance appraisalAssistant store manager performance appraisal
Assistant store manager performance appraisalimogenramiez
 
Modelling of spur gear in Pro E software
Modelling of spur gear in Pro E software Modelling of spur gear in Pro E software
Modelling of spur gear in Pro E software Maheshdesai0907
 
INACP News - 24/08/2014
INACP News - 24/08/2014INACP News - 24/08/2014
INACP News - 24/08/2014Paulo Moral
 

Destacado (12)

La rosa y el sapo
La rosa  y  el sapoLa rosa  y  el sapo
La rosa y el sapo
 
RESUME
RESUMERESUME
RESUME
 
100
100100
100
 
PROYECTO DE QUIMICA 3 ''F'' E.S.T.107 N.L. #8
PROYECTO DE QUIMICA 3 ''F'' E.S.T.107 N.L. #8 PROYECTO DE QUIMICA 3 ''F'' E.S.T.107 N.L. #8
PROYECTO DE QUIMICA 3 ''F'' E.S.T.107 N.L. #8
 
Diplomado formación y actualización docente
Diplomado formación y actualización docenteDiplomado formación y actualización docente
Diplomado formación y actualización docente
 
Charlas febrero 2011
Charlas febrero 2011Charlas febrero 2011
Charlas febrero 2011
 
Manual test de bender koppitz
Manual test de bender koppitzManual test de bender koppitz
Manual test de bender koppitz
 
Neve interminable
Neve interminableNeve interminable
Neve interminable
 
Assistant store manager performance appraisal
Assistant store manager performance appraisalAssistant store manager performance appraisal
Assistant store manager performance appraisal
 
Modelling of spur gear in Pro E software
Modelling of spur gear in Pro E software Modelling of spur gear in Pro E software
Modelling of spur gear in Pro E software
 
INACP News - 24/08/2014
INACP News - 24/08/2014INACP News - 24/08/2014
INACP News - 24/08/2014
 
HarrisGregoryResume
HarrisGregoryResumeHarrisGregoryResume
HarrisGregoryResume
 

Similar a Tipos de datos en C: enteros, flotantes y caracteres

Similar a Tipos de datos en C: enteros, flotantes y caracteres (20)

Manual de c c++
Manual de c c++Manual de c c++
Manual de c c++
 
Mariana valencia pavia
Mariana valencia paviaMariana valencia pavia
Mariana valencia pavia
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 
Tipos de datos en C
Tipos de datos en CTipos de datos en C
Tipos de datos en C
 
Pseudocódigo
PseudocódigoPseudocódigo
Pseudocódigo
 
Tipos de datos_para_c++
Tipos de datos_para_c++Tipos de datos_para_c++
Tipos de datos_para_c++
 
Tipos de datos en java
Tipos de datos en javaTipos de datos en java
Tipos de datos en java
 
02 - Conceptos fundamentales sobre tipos de datos en lenguaje C
02 - Conceptos fundamentales sobre tipos de datos en lenguaje C02 - Conceptos fundamentales sobre tipos de datos en lenguaje C
02 - Conceptos fundamentales sobre tipos de datos en lenguaje C
 
Funciones de entrada y salida
Funciones de entrada y salidaFunciones de entrada y salida
Funciones de entrada y salida
 
Tema7 dinamicas
Tema7 dinamicasTema7 dinamicas
Tema7 dinamicas
 
Actividad N° 3 - Unidad 4
Actividad N° 3 - Unidad 4Actividad N° 3 - Unidad 4
Actividad N° 3 - Unidad 4
 
Notacion hungara
Notacion hungaraNotacion hungara
Notacion hungara
 
Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_
 
Castillo
CastilloCastillo
Castillo
 
Introduccions a java
Introduccions a javaIntroduccions a java
Introduccions a java
 
Fundamentos de programacion en java
Fundamentos de programacion en javaFundamentos de programacion en java
Fundamentos de programacion en java
 
Tipos de datos en programacion
Tipos de datos en programacionTipos de datos en programacion
Tipos de datos en programacion
 
Variables, constantes y tipos de datos en C
Variables, constantes y tipos de datos en CVariables, constantes y tipos de datos en C
Variables, constantes y tipos de datos en C
 
Pseudocódigo.maquina 18
Pseudocódigo.maquina 18Pseudocódigo.maquina 18
Pseudocódigo.maquina 18
 
37 tarazona karen programacion
37 tarazona karen programacion37 tarazona karen programacion
37 tarazona karen programacion
 

Tipos de datos en C: enteros, flotantes y caracteres

  • 1.
  • 2. Enteros Los enteros son el tipo de dato más primitivo en C. Se usan para representar números enteros. Pero siempre se pueden encontrar otras aplicaciones para los números enteros. En general se pueden usar para representar cualquier variable discreta. Los tipos de datos enteros son: short, int, long y long long , cada uno representando un número entero de un tamaño o capacidad determinado. Según el compilador y la plataforma de hardware, cada uno de estos tipos de dato puede ocupar desde 1 byte hasta 8 bytes en memoria (para más detalles busca en la referencia). Además, el lenguaje C hace la distinción de si el entero es con signo ( signed ) o sin signo (unsigned ). En caso de que no se declare si es con signo o sin signo, se toma con signo. Algunos ejemplos de declaraciones de enteros: int a; unsigned int a; signed long a; signed long long a = 10000000; Todos los números son representados en memoria mediante una cadena de bits. En el caso de los números con signo, el bit más significativo es el que se usa para representar el signo. La representación de los números negativos se realiza mediante el complemento a dos, que es una técnica que permite operar con los números negativos de forma lógica. A modo de ejemplo, la representación en memoria del número -8 en una variable de 2 bytes, entera, con signo, sería la siguiente: 1111111111111000 Flotantes Se denomina flotantes a los tipos de datos que representan a los números reales, ya que utilizan un sistema de representación basado en la técnica de coma flotante, que permite operar con números reales de diversas magnitudes, mediante un número decimal llamado mantisa y un exponente que indica el orden de magnitud. El tipo de dato flotante en lenguaje C sólo tiene dos tamaños: el float y el double , que son 4 bytes y 8 bytes respectivamente. Se los puede utilizar tanto para representar números decimales, como para representar números enteros con un orden de magnitud muy grande.
  • 3. La forma de declarar una variable flotante es escribiendo en una línea uno de los tipos de datos flotantes y a continuación el nombre de la variable y tal vez algún valor que se les quiera dar. Algunos ejemplos: float a; double a = 1e23; double a = 3.1416; float a = 4e-9; double a = -78; Hay que tener en cuenta que aunque los valores flotantes son más convenientes para algunas aplicaciones, hay casos en los que se prefieren los enteros. Esto se debe a que los números flotantes no necesariamente tienen soporte de hardware, en particular en las plataformas integradas. Una alternativa que se utiliza en estas situaciones es interpretar los enteros como decimales de forma que 150 se interprete como 1.5 y 2345 como 23.45. Para el caso de los flotantes de 4 bytes, se utiliza 1 bit para el signo, 8 bits para el exponente y 23 bits para el valor del número. El procedimiento para almacenar un número en una variable flotante es el siguiente: 1. Se convierte a binario la parte entera. 2. Se coloca el signo en el bit más significativo de la misma manera que en los enteros (1 para el - y 0 para el +). 3. Se mueve la coma (en la representación binaria de la parte entera) hasta que esté a la derecha del primer uno y éste se descarta (el uno más significativo). El valor del exponente será el número de posiciones que se movió la coma. El exponente usa la representación de un entero con complemento a dos. 4. Se convierte en binario la parte decimal del número. Esto usando el peso de los bits. el bit decimal más significativo vale 1/2, el siguiente vale 1/4, el otro 1/8, el otro 1/16 y así hasta completar lo que falta para los 23bits del valor. 5. Se concatena todo y ese es el valor flotante representado en memoria. Caracteres Los caracteres se representan utilizando el tipo char, que tiene sólo 1 byte de tamaño. Este tipo se utiliza para representar los 256 caracteres de la tabla de caracteres del sistema. El tipo char es también un tipo entero, ya que puede tomar valores de 0 a 255. Por lo tanto también puede ser signed o unsigned .
  • 4. En cuanto a la forma de declarar variables de tipo char es la misma forma que con los otros tipos. char a; char a = 's'; unsigned char a = 48; Como puedes ver, se le puede asignar un número a una variable char, ya que se trata de un tipo entero. En muchas situaciones se utiliza el tipo char para almacenar números pequeños, ya que ocupa en memoria sólamente un byte. Es importante notar que con la llegada de la codificación UTF-8, los caracteres de los diversos idiomas pueden ocupar 1, 2, 3 o 4 bytes, de modo que el tipo char ya no alcanza para la representación de todos los caracteres posibles. Por ello, el estándar C99 introduce el tipo wchar que puede ocupar más de 1 byte, según sea necesario para la codificación utilizada por el sistema.