..


Liens sponsorisés

La promotion de Java numérique

Article écrit par Damiano Verda
Page 1 sur 2

Quelle est la promotion numérique? C'est une opération très courante dans un programme et correspond à une conversion implicite des opérandes (par exemple, le cumulateur) associé à un opérateur numérique (par exemple «+» indique que l'addition).

Cette conversion est nécessaire lorsque les opérandes ne correspondent pas exactement le type de données qui est prévu pour l'opération. Dans certains cas, la conversion doit être explicite (par exemple en utilisant une fonte ) et est donc la responsabilité du programmeur.

Dans d'autres cas, en particulier dans le cas de plusieurs langages de programmation avancés et distribué (ci-après nous référons en particulier au langage Java), la conversion se fait automatiquement, donc implicitement. Dans ce cas, il est possible de parler de la promotion numérique.

On peut distinguer deux types principaux de promotion numérique: unaire et binaire de promotion numérique de promotion numérique, qui diffèrent sensiblement dans la nature de l'arithmétique impliqués dans l'opération (unaires ou binaires). Regardons les deux brins, en prenant soin de fournir également quelques brefs exemples de code Java.

Unaire de promotion numérique

Voyons un exemple:






 octet b = 2;







 int a [] = new int [b];

           





 Caractère c = '\ u0001';







 à [c] = 1;

                       





 a [0] = c;

  

Dans ce cas, bien que très simple, nous pouvons identifier trois exemples de promotion numérique unaire. Le premier est l'éducation int a [] = new int [b]. La taille du tableau fait »doit être représenté par un entier (variable de type int), tandis que B est une variable de type byte.

Ensuite, laissez-nous réfléchir sur l'éducation [c] =- 1. Dans ce cas, il est passé comme un indice de «tableaux, une fois de plus, pas un paramètre de type entier, mais le caractère de type (dans ce cas). De même, la déclaration suivante a [0] =- c 0 donne la position de l'array 'pour une valeur de type int et non de caractère.

Nous observons d'abord qu'il est associé à la conversion à l'opérateur d'affectation '("="), donc un opérateur unaire, qui est associé à un seul opérande. Voici pourquoi nous pouvons parler de promotion numérique unaire. Comment le compilateur gère les conversions implicitement associé à la procédure?

Dans les trois cas, la conversion peut être décomposé en deux étapes élémentaires. Le premier est un type de conversion unboxing, c'est à dire les données (dans ce cas de type Byte ou caractère) est converti dans le type de données correspondant primitive (octet char, respectivement).

À ce point nous procédons à une deuxième phase de la conversion dans les trois cas à l'étude est une conversion étendue primitive. En bref, il n'ya aucune perte d'information et en effet, le nouveau type de données que vous choisissez (int) est surabondante par rapport à stocker des informations (contenues dans la variable b, ou c de type Byte, type de caractères). Pour cette raison, le compilateur peut effectuer la conversion vous-même.

Nous le soulignent que la seule véritable conversions qui peuvent être effectuées implicitement dans le contexte de la promotion numérique sont celles qui sont mentionnées. Il est en fait aussi la possibilité d'une identité de conversion de type, mais maintient le type de données de la variable en question et est donc d'intérêt essentiellement théorique.

Dans la même catégorie ...
E-Learning
Linux (Cours) Linux (Cours)
Guide complet de système open-source. A partir de 49 €.
PHP (cours) PHP (cours)
Cours complet pour la création de sites Web dynamiques. A partir de 49 €.
Ruby et Ruby on Rails (Cours) Ruby et Ruby on Rails (Cours)
Créer des applications logicielles et Web avec Ruby et RoR. A partir de 39 €.
Liens sponsorisés