Red de conocimientos sobre prescripción popular - Remedios caseros - Hay varias formas de constantes enteras en lenguaje C. ¿Cómo se expresan?

Hay varias formas de constantes enteras en lenguaje C. ¿Cómo se expresan?

En lenguaje C, las constantes enteras tienen tres formas de escritura:

(1) Entero decimal. Los números enteros decimales generalmente se escriben como números enteros. Por ejemplo: 11, 15, 21, etc.

(2) Entero octal. Los enteros octales se escriben añadiendo un dígito 0 delante del entero octal habitual. Por ejemplo: 00, 0111, 015, 021, etc. , que representan respectivamente números enteros decimales: 0, 73, 13, 17.

(3) Entero hexadecimal. Los enteros hexadecimales se escriben sumando 0x a los enteros hexadecimales habituales. Por ejemplo: 0x0, 0x111, 0x15, 0x21, etc. , que representan números enteros decimales 0, 273, 21, 33 respectivamente.

Tenga en cuenta que no hay + o - antes de la constante entera, y -10 es en realidad un operador unario y el operando 10. De manera similar, la representación decimal de una constante entera no es 0. Escribir un 0 por sí solo es en realidad una constante octal.

Datos extendidos

Convertir a entero

Para convertir explícitamente un valor a un entero, ¿usa (int) o (integer)? Elenco. Sin embargo, en la mayoría de los casos, no se requiere conversión porque el valor se convierte automáticamente cuando un operador, función o control de flujo requiere un argumento entero. También puede utilizar la función intval() para convertir un valor en un número entero.

1, la conversión de booleano

FALSO producirá 0 (cero), VERDADERO producirá 1 (uno).

2. Conversión de punto flotante

Al convertir de punto flotante a entero, el número se redondeará (se descartarán los decimales).

Nota: Si el número de punto flotante está fuera del rango de enteros (normalmente +/-2,15e+9 = 2 31), el resultado no está definido porque no hay suficiente precisión para que el número de punto flotante dé un resultado entero exacto. En este caso, no hay ningún aviso, ¡ni siquiera notificación!

Nota: El resultado devuelto en Linux es el número negativo más pequeño (-214748), mientras que el resultado devuelto en Windows es cero (0).

A continuación se utiliza el lenguaje C/C++ como ejemplo para describir el conocimiento de los números enteros:

a. Para lograr eficiencia en la ejecución, C/C++ especifica la longitud del entero y define int como el. longitud de palabra de la máquina para lograr la máxima velocidad de ejecución;

B. Los tipos de enteros en C/C++ incluyen int, char y enum, y C++ también incluye el tipo bool en C99, que es una macro. en realidad _ bool

C, C y C++ tienen regulaciones diferentes para enum, que no se describirán aquí.

d. Los enteros positivos y negativos modificados con signo y sin signo. Los valores predeterminados con signo son int.

E short y long se utilizan para modificar el tamaño de int. , como long long long y __int64, long long y unsigned long long se agregaron en C99;

La longitud de f e int es la misma que la longitud de la palabra de la máquina. En un compilador de 16 bits es de 16 bits, en un compilador de 32 bits es de 32 bits.

La longitud de gy short int es menor o igual que la longitud de int. Tenga en cuenta que sus longitudes pueden ser iguales, dependiendo del compilador.

Las longitudes de h y long int son mayores o iguales que la longitud de int. Tenga en cuenta que sus longitudes pueden ser iguales, dependiendo del compilador;

I, la longitud de char debe poder acomodar el siguiente carácter, la mayoría de los sistemas son de un byte y algunos sistemas pueden tener cuatro bytes, porque un carácter en estos sistemas requiere cuatro bytes para ser descrito;

Los símbolos de j y char dependen del compilador, y la decisión del compilador depende del sistema operativo. En diferentes compiladores, char puede ser equivalente a char firmado o char sin firmar.

Enciclopedia Baidu-Entero

Enciclopedia Baidu-Constante entera