Constantes enteras

Las constantes enteras son números que se utilizan directamente en un programa, como 123. Por defecto, estos números son tratados como int's pero se puede cambiar esto con los modificadores U y L (véase más adelante).

Normalmente, las constantes enteras se tratan como enteros (decimales) de base 10, pero se puede utilizar notación especial (formateadores) para introducir números en otras bases.

Base Ejemplo  Formateador Comentario
10 (decimal) 123 Ninguno
2 (binario)  B1111011  Principal 'B' Sólo funciona con valores de 8 bits (0 a 255) Caracteres válidos  0-1
8 (octal) 0173 "0" Válidos 0-7
16 (hexadecimal) 0x7B caracteres 0x" Válidos 0-9, AF, af

Decimal es la base 10. Esto es, las matemáticas de sentido común con el que estamos familiarizados. Las constantes sin otros prefijos se asume que están en formato decimal.

Ejemplo:

101 // igual que 101 decimal ((1 * 10 ^ 2) + (0 * 10 ^ 1) + 1)

Binario es la base dos. Sólo los caracteres 0 y 1 son válidos.

Ejemplo:

B101 // igual que 5 decimal ((1 * 2 ^ 2) + (0 * 2 ^ 1) + 1)

El formateador binario sólo funciona con bytes (8 bits) entre 0 (B0) y 255 (B11111111). Si es conveniente introducir un int (16 bits) en forma binaria lo puede hacer en un procedimiento de dos pasos, tales como:

myInt = (B11001100 * 256) + B10101010;      // B11001100 es el byte alto

Octal es la base ocho. Sólo los caracteres 0 a 7 son válidos. Los valores octales se indican con el prefijo "0"

Ejemplo:

0101 // igual que 65 decimal ((1 * 8 ^ 2) + (0 * 8 ^ 1) + 1)

Advertencia

Es posible generar un error difícil de encontrar si no se incluye un cero antes de una constante que el compilador interpreta su constante como octal.

Hexadecimal es la base 16. Los caracteres válidos son del 0 al 9 y letras de la A a la F; A tiene el valor 10, B es 11, hasta F, que es de 15. Los valores hexadecimales se indican con el prefijo "0x". Tenga en cuenta que la FA puede ser escrito en mayúsculas o minúsculas (af).

Ejemplo:

0x101 // igual que 257 decimal ((1 * 16 ^ 2) + (0 * 16 ^ 1) + 1)

Formateadores U y L


De manera predeterminada, una constante entera es tratada como un int con las limitaciones concomitantes en los valores. Para especificar una constante entera con otro tipo de datos, hágalos seguir de: 

  • una "u" o "U ' para forzar la constante a un formato de datos sin signo. Ejemplo: 33U
  • una "l" o "L" para forzar la constante a un formato de datos de longitud. Ejemplo: 100000L
  • una 'ul' o 'UL' para forzar la constante en una constante de largo sin signo. Ejemplo: 32767ul
  •    

    No hay comentarios:

    Publicar un comentario