..
¿Qué es la promoción numérica? Esta es una operación muy común en un programa y corresponde a una conversión implícita de operandos (por ejemplo, el sumando) asociados con un operador numérico (por ejemplo, "+" indica que la adición).
Esta conversión es necesaria siempre que los operandos no coinciden exactamente con el tipo de datos que se espera para la operación. En algunos casos, la conversión debe ser explícito (por ejemplo, con un elenco ) y por lo tanto la responsabilidad del programador.
En otros casos, especialmente en el caso de los más avanzados lenguajes de programación y distribución (en adelante nos referiremos en particular, en el lenguaje Java), la conversión se realiza automáticamente, con lo que implícitamente. En este caso, es posible hablar de promoción numérica.
Podemos distinguir dos tipos principales de promoción numérica: la promoción unarios numérico y promoción numérica binaria, que difieren sustancialmente en la naturaleza de la aritmética en la operación (unario o binario). Echemos un vistazo a las dos vertientes, teniendo cuidado de proporcionar también algunos breves ejemplos de código Java.
Veamos un ejemplo:
byte b = 2;
int a [] = new int [b];
Carácter c = '\ u0001';
a [c] = 1;
a [0] = c;
En este caso, aunque muy sencillo, podemos identificar tres ejemplos de promoción numérica unaria. El primero es la educación int a [] = new int [b]. El tamaño de la matriz de hecho deberían estar representados por un número entero (variable int), mientras que b es una variable de tipo byte.
A continuación, vamos a reflexionar sobre la educación [c] =- 1. En este caso, se pasa como un índice de 'arrays, una vez más, no un parámetro de tipo entero, pero (en este caso) de tipos de caracteres. Del mismo modo, la siguiente declaración a [0] =- c 0 da la posición de la matriz a un valor de tipo int y no personaje.
Observamos primero que se asocia con la conversión al operador de asignación '("="), por lo tanto, un operador unario, que se asocia con un solo operando. He aquí por qué podemos hablar de promoción numérica unaria. Cómo el compilador se encarga de la conversión implícita asociada con los pasos?
En los tres casos, la conversión se puede descomponer en dos etapas elementales. En primer lugar es un tipo de conversión unboxing, es decir, los datos (en este caso de tipo Byte o carácter) se convierte en el tipo correspondiente de datos primitivos (byte char, respectivamente).
En este punto se procede a una segunda fase de la conversión en los tres casos bajo consideración es una conversión de ampliación primitiva. En resumen, no hay pérdida de información y, de hecho, el nuevo tipo de datos que usted elija (int) es superabundante en comparación con el almacén de información (contenida en la variable b, c, o de tipo Byte, el tipo de carácter). Por esta razón, el compilador puede realizar la conversión de uno mismo.
Lo hincapié en que las conversiones única que se puede realizar de manera implícita en el contexto de la promoción numérica son los mencionados. De hecho, existe también la posibilidad de una identidad de conversión de tipo, pero mantiene el tipo de datos de la variable en cuestión y por lo tanto de interés principalmente teórico.
| |
Linux (Curso)
Guía completa de código abierto del sistema. A partir de 49 €. |
| |
PHP (Curso)
Ciclo completo para la creación de sitios Web dinámicos. A partir de 49 €. |
| |
Ruby y Ruby on Rails (Curso)
Crear aplicaciones de software y la Web con Ruby y RoR. A partir de 39 €. |