Todos estos se encuentran en el rango de los
enteros, desde -∞ hasta ∞).
Por lógica compuestos todos estos por los signos (-) y (+) seguidos a su vez
por los números naturales.
Estas son permitidas en el lenguaje C con la capacidad
de poder especificar un número entero como por ejemplo el 7, 8, 14, etc.
El tipo
entero en un subconjunto finito de los números enteros. Los cuales enteros son
números completos, no tienen componentes fraccionarios o decimales y pueden ser
negativos o positivos. Los enteros se denominan en ocasiones número de punto o
coma fijo.
Las
constantes enteras son números sin parte fraccionaria y pueden ser tanto
negativos como positivos. Las constantes enteras se puede expresar de las
siguientes formas:
Decimal.
Una constante entera decimal es de base 10, esto es, utiliza cifras del 0 al 9
pero no pueden empezar por 0, a excepción de este mismo.
Octal.
Una constante entera octal es de base 8, utiliza cifras del o al 7, y
tienen como primer dígito al cero.
Hexadecimal. Una constante entera hexadecimal comienza por 0x ó
0X, son de base 16 debido a que incluye dígitos del 0 al 9 y de letras de la A
a la F.
Las constantes enteras representan
un int, y pueden estar expresadas en los sistemas de numeración decimal octal
o hexadecimal. En ausencia de ningún sufijo, el tipo de una constante
entera se deduce de su valor según se muestra en las tablas que siguen. Observe
que las reglas para las constantes decimales son distintas del resto.
Decimal Se permiten constantes enteras en
formato decimal dentro del rango 0 a 4,294,967,295; las que excedan este límite
serán truncadas. Observe que las constantes decimales no pueden comenzar
con cero, porque serían interpretadas como octales.
int i=10;// decimal 10
int i=010;// decimal 8 (octal 10)
int i=0; // decimal 0 = octal 0
Tipos adoptados por las constantes
decimales en función del valor declarado (en ausencia de sufijos L o U)
Aquí,
cuando la constante sea positiva, el signo es opcional, pero en cambio, al ser
negativa, lleva implícita un signo -. 1El tipo de una constante
entera viene determinado por su valor. Los enteros también se indican por medio
de sufijos L, U, o UL. El primero indica su tipo long, el segundo indica tipo
unsigned int cuando el valor puede ser representado por este tipo. Finalmente,
el último indica que es de tipo unsigned long.
0
a
32,767
int
32,768
a 2,147,483,647
long
2,147,483,648 a 4,294,967,295
unsigned long
>4294967295
truncado
Todas las constantes que empiecen
por cero se suponen en octal. Si una constante de este tipo contiene
dígitos ilegales (8 o 9), se produce un mensaje de error; como se indica
en la tabla adjunta, las que exceden del valor máximo 037777777777 son
truncadas.
Tipos adoptados por las constantes
Octales en función del valor declarado (en ausencia de sufijos L o U).
00
a 077777
int
010000
a 0177777
unsigned int
02000000 a
017777777777
long
020000000000 a 037777777777
unsigned long
>
037777777777
truncado
Cualquier constante que comience
por 0x o 0X es considerada hexadecimal, base 16, después se pueden incluir los
dígitos válidos (0...9, a...f, A...F). Como se indica e el cuadro
adjunto, las que excedan del valor máximo 0xFFFFFFFF son truncadas.
Tipos adoptados por las constantes
hexadecimales en función del valor declarado (en ausencia de sufijos L o U).
0x0000 a 0x7FFF
int
0x8000 a 0xFFFF
unsigned int
0x10000 a 0x7FFFFFFF long
0x80000000 a 0xFFFFFFFF unsigned long
>0xFFFFFFFF truncado
Ejemplo:
long lg1 = 0xFFFF; lg2 = 0xFF;
cout << lg1 << endl; // -> 65535
cout << lg2 << endl; // -> 255
#define CS_VREDRAW 0x0001
#define CS_HREDRAW 0x0002
Ejemplos:
135U constante entera tipo unsigned int
3359L constante entera tipo long
843UL
constante entera tipo unsigned
long
Por
otra parte, las constantes decimales pueden tener uno o más dígitos, de 0 a 9,
de los cuales el primero es distinto de cero.
Ejemplo:
2353 constante entera tipo
int
343540 constante entera tipo long
3Aparte de constantes
enteras tipo 234 y en coma flotante de
la forma 10.4, a veces, sobre todo al trabajar a bajo nivel,
resulta más cómodo poder introducir la constante en base 8 (octal) o 16
(hexadecimal) que en base 10.
Además,
una constante octal puede tener 1 o más dígitos, 0 a 7, precedidos
por
0. Y su valor está comprendido en el rango:
0
a 077777 para
constantes tipo int
0100000
a 0177777 para
constantes tipo unsigned int
0200000
a 017777777777 para
constantes tipo long
020000000000
a 037777777777 para constantes
tipo unsigned long
Una
constante hexadecimal puede tener 1 o más caracteres, 0 a 9 y A a F, precedidos
por 0x o 0X (cero más x). Su valor está comprendido en el rango:
0x0
a 0x7FFF para
constantes tipo long
0x8000
a 0xFFF para
constantes tipo unsigned int
0x10000
a 0x7FFFFFFF para
constantes tipo long
0x80000000
a 0xFFFFFFF para constantes tipo
unsigned long
Ejemplo:
256 especifica
el no. 256 en decimal
-0400 especifica el no. –256 en octal
0x100 especifica el no. 256 en
hexadecimal