Diferencia entre revisiones de «Constantes enteras (Informática)»
(Página creada con '''{{Definición|Nombre=Constantes enteras |imagen= |concepto=Representan un int, y pueden estar expresadas en los sistemas de numeración decimal; octal o hexadecimal}}'' <div ...') |
|||
Línea 3: | Línea 3: | ||
== Decimal == | == Decimal == | ||
− | Se permiten constantes enteras en formato decimal (base 10) dentro del rango 0 a 4, 294, 967, 295; las que excedan este límite serán truncadas. | + | Se permiten constantes enteras en formato decimal (base 10) dentro del rango 0 a 4, 294, 967, 295; las que excedan este límite serán truncadas. Las constantes decimales no pueden comenzar con cero, porque serían interpretadas como octales. <br> |
− | int i = 10; // decimal 10 <br> | + | int i = 10; // decimal 10 <br> |
− | int i = 010; // decimal 8 (octal 10) <br> | + | int i = 010; // decimal 8 (octal 10) <br> |
− | int i = 0; // decimal 0 = octal 0 | + | 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) <br> | + | Tipos adoptados por las constantes decimales en función del valor declarado (en ausencia de sufijos L o U) <br> |
− | 0 a 32,767 int <br> | + | 0 a 32,767 int <br> |
− | 32,768 a 2,147,483,647 long <br> | + | 32,768 a 2,147,483,647 long <br> |
− | 2,147,483,648 a 4,294,967,295 unsigned long <br> | + | 2,147,483,648 a 4,294,967,295 unsigned long <br> |
− | >4294967295 truncado | + | >4294967295 truncado |
== Octal == | == Octal == | ||
− | Todas las constantes que empiecen por cero se suponen en octal (base 8). Si una constante de este tipo contiene dígitos ilegales (8 o 9), se produce un mensaje de error | + | Todas las constantes que empiecen por cero se suponen en octal (base 8). Si una constante de este tipo contiene dígitos ilegales (8 o 9), se produce un mensaje de error, 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). <br> | |
− | + | 00 a 077777 int <br> | |
− | + | 010000 a 0177777 unsigned int <br> | |
− | + | 02000000 a 017777777777 long <br> | |
− | > 037777777777 truncado.<br> | + | 020000000000 a 037777777777 unsigned long <br> |
+ | |||
+ | > 037777777777 truncado.<br> | ||
== Hexadecimal == | == Hexadecimal == | ||
− | 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). | + | 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). 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 <br> | ||
+ | |||
+ | 0x8000 a 0xFFFF unsigned int <br> | ||
− | + | 0x10000 a 0x7FFFFFFF long <br> | |
− | + | 0x80000000 a 0xFFFFFFFF unsigned long <br> | |
− | + | >0xFFFFFFFF truncado <br> | |
− | |||
− | |||
== Sufijos: long (L) y unsigned (U) == | == Sufijos: long (L) y unsigned (U) == | ||
− | La adición de sufijos en la definición de una constante puede forzar que esta sea de un tipo específico, así pues, los sufijos funcionan como una especie de "casting" para las constantes. Se utilizan las letras U u L l. Estos sufijos se pueden utilizar juntos y en cualquier orden o grafía (ul, lu, Ul, lU, uL, Lu, LU o UL). <br> | + | La adición de sufijos en la definición de una constante puede forzar que esta sea de un tipo específico, así pues, los sufijos funcionan como una especie de "casting" para las constantes. Se utilizan las letras U u L l. Estos sufijos se pueden utilizar juntos y en cualquier orden o grafía (ul, lu, Ul, lU, uL, Lu, LU o UL). <br> |
− | Los sufijos L / l después de una constante la fuerzan a ser declarada como long. | + | Los sufijos L / l después de una constante la fuerzan a ser declarada como long. Ejemplo: |
− | + | const x = 7L; // x es long <br> | |
− | Los sufijos U / u la fuerzan a que sea declarada como unsigned; en este caso, con independencia de la base utilizada, la constante será considerada unsigned long si el valor del número es mayor que el decimal 65,535. Ejemplo: <br> | + | Los sufijos U / u la fuerzan a que sea declarada como unsigned; en este caso, con independencia de la base utilizada, la constante será considerada unsigned long si el valor del número es mayor que el decimal 65,535. Ejemplo: <br> |
− | const x = 7U; // x es unsigned int <br> | + | const x = 7U; // x es unsigned int <br> |
− | const y = 66000U; // y es unsigned long | + | const y = 66000U; // y es unsigned long |
− | En ausencia de alguno de estos sufijos el tipo de la constante es el primero de los que se señalan que pueda albergar su valor. <br> | + | En ausencia de alguno de estos sufijos el tipo de la constante es el primero de los que se señalan que pueda albergar su valor. <br> |
− | Decimal: int, long int, unsigned long int <br> | + | Decimal: int, long int, unsigned long int <br> |
− | Octal: int, unsigned int, long int, unsigned long int <br> | + | Octal: int, unsigned int, long int, unsigned long int <br> |
− | Hexadecimal: int, unsigned int, long int, unsigned long int | + | Hexadecimal: int, unsigned int, long int, unsigned long int |
− | Si la constante tiene un sufijo U o u, su tipo es unsigned int, unsigned long o int (el primero que pueda albergar el valor). <br> | + | Si la constante tiene un sufijo U o u, su tipo es unsigned int, unsigned long o int (el primero que pueda albergar el valor). <br> |
− | Si tiene un sufijo L o l, su tipo es long int o unsigned long int (el primero que pueda albergar el valor). Si la constante tiene ambos sufijos, u e l (ul, lu, Ul, lU, uL, Lu, LU o UL), su tipo de es unsigned long int. Ejemplo: <br> | + | Si tiene un sufijo L o l, su tipo es long int o unsigned long int (el primero que pueda albergar el valor). Si la constante tiene ambos sufijos, u e l (ul, lu, Ul, lU, uL, Lu, LU o UL), su tipo de es unsigned long int. Ejemplo: <br> |
− | const z = 0UL; // z es unsigned long | + | const z = 0UL; // z es unsigned long |
− | Como puede verse, las constantes enteras sin L o U compendian la representación de constantes enteras en cualquiera de los tres sistemas de numeración (en C++Builder). <br> | + | Como puede verse, las constantes enteras sin L o U compendian la representación de constantes enteras en cualquiera de los tres sistemas de numeración (en [[C++_(Builder)|C++Builder]]). <br> |
Algunos compiladores utilizan los sufijos ll/LL y ull/ULL para referirse a los enteros extendidos long long y unsigned long long respectivamente. | Algunos compiladores utilizan los sufijos ll/LL y ull/ULL para referirse a los enteros extendidos long long y unsigned long long respectivamente. | ||
Línea 82: | Línea 88: | ||
*[[Constante (Informática)|Constante]]<br> | *[[Constante (Informática)|Constante]]<br> | ||
− | *[[ | + | *[[Expresiones constantes|Expresiones constantes]] |
*[[Constantes fraccionarias|Constantes fraccionarias ]]<br> | *[[Constantes fraccionarias|Constantes fraccionarias ]]<br> | ||
*[[Constantes de enumeración|Constantes de enumeración]]<br> | *[[Constantes de enumeración|Constantes de enumeración]]<br> | ||
*[[Constantes de cadena|Constantes de cadena]]<br> | *[[Constantes de cadena|Constantes de cadena]]<br> | ||
*[[Constantes de carácter|Constantes de carácter]]<br> | *[[Constantes de carácter|Constantes de carácter]]<br> | ||
− | |||
− | |||
== Fuente == | == Fuente == | ||
− | *[http://www.zator.com/Cpp/E3_2_3b.htm www.zator.com] | + | *[http://www.zator.com/Cpp/E3_2_3b.htm www.zator.com]<br> |
− | <br> | + | <br> |
− | |||
− | |||
− | + | [[Category:Informática]] [[Category:Lenguajes_de_programación]] [[Category:Programación]] |
Revisión del 14:00 6 may 2011
|
Decimal
Se permiten constantes enteras en formato decimal (base 10) dentro del rango 0 a 4, 294, 967, 295; las que excedan este límite serán truncadas. 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)
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
Octal
Todas las constantes que empiecen por cero se suponen en octal (base 8). Si una constante de este tipo contiene dígitos ilegales (8 o 9), se produce un mensaje de error, 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.
Hexadecimal
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). 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
Sufijos: long (L) y unsigned (U)
La adición de sufijos en la definición de una constante puede forzar que esta sea de un tipo específico, así pues, los sufijos funcionan como una especie de "casting" para las constantes. Se utilizan las letras U u L l. Estos sufijos se pueden utilizar juntos y en cualquier orden o grafía (ul, lu, Ul, lU, uL, Lu, LU o UL).
Los sufijos L / l después de una constante la fuerzan a ser declarada como long. Ejemplo:
const x = 7L; // x es long
Los sufijos U / u la fuerzan a que sea declarada como unsigned; en este caso, con independencia de la base utilizada, la constante será considerada unsigned long si el valor del número es mayor que el decimal 65,535. Ejemplo:
const x = 7U; // x es unsigned int
const y = 66000U; // y es unsigned long
En ausencia de alguno de estos sufijos el tipo de la constante es el primero de los que se señalan que pueda albergar su valor.
Decimal: int, long int, unsigned long int
Octal: int, unsigned int, long int, unsigned long int
Hexadecimal: int, unsigned int, long int, unsigned long int
Si la constante tiene un sufijo U o u, su tipo es unsigned int, unsigned long o int (el primero que pueda albergar el valor).
Si tiene un sufijo L o l, su tipo es long int o unsigned long int (el primero que pueda albergar el valor). Si la constante tiene ambos sufijos, u e l (ul, lu, Ul, lU, uL, Lu, LU o UL), su tipo de es unsigned long int. Ejemplo:
const z = 0UL; // z es unsigned long
Como puede verse, las constantes enteras sin L o U compendian la representación de constantes enteras en cualquiera de los tres sistemas de numeración (en C++Builder).
Algunos compiladores utilizan los sufijos ll/LL y ull/ULL para referirse a los enteros extendidos long long y unsigned long long respectivamente.
Véase también
- Constante
- Expresiones constantes
- Constantes fraccionarias
- Constantes de enumeración
- Constantes de cadena
- Constantes de carácter
Fuente