..
Was ist numerische Förderung? Dies ist eine sehr häufige Operation in einem Programm und entspricht eine implizite Konvertierung von Operanden (z. B. der Summand) mit einem numerischen Operator verbunden (zB "+" zeigt an, dass die Zugabe).
Diese Umwandlung ist notwendig, wenn die Operanden nicht übereinstimmen genau die Art von Daten, die für den Betrieb zu erwarten ist. In einigen Fällen müssen die Konvertierung explizit sein (zum Beispiel mit einem cast ) und ist daher in der Verantwortung des Programmierers.
In anderen Fällen, besonders im Fall von fortgeschrittener Programmiersprachen und verteilt (im Folgenden werden wir insbesondere auf die Java-Sprache beziehen), ist die Umwandlung automatisch, damit implizit. In diesem Fall ist es möglich, von numerischen Förderung sprechen.
Man unterscheidet zwei Haupttypen von numerischen Förderung: Unäre numerische Förderung und binäre numerische Erweiterung, welche im Wesentlichen unterscheiden sich in der Natur der Arithmetik in den Betrieb (einstellige oder binär) beteiligt. Schauen wir uns beide Stränge schauen, darauf achten, dass auch einige kurze Beispiele von Java-Code.
Lassen Sie uns ein Beispiel zu sehen:
byte b = 2;
int a [] = new int [b];
Character c = '\ U0001';
auf [c] = 1;
a [0] = c;
In diesem Fall, wenn auch sehr einfach, lassen sich drei Beispiele für Unäre numerische Förderung. Die erste ist die Bildung int a [] = new int [b]. Die Größe der "Tatsache Array sollte durch eine ganze Zahl (int variable) dargestellt werden, während b ist eine Variable vom Typ Byte.
Danach wollen wir uns auf Bildung [c] =- 1 zu reflektieren. In diesem Fall ist es als ein Index der "Arrays, noch einmal, nicht einen Parameter vom Typ integer, sondern (in diesem Fall) Typ Charakter weitergegeben. Auch die nächste Anweisung a [0] =- c 0 gibt die Position des "Array in einen Wert vom Typ int und nicht Charakter.
Wir bemerken zunächst, dass es mit der Umstellung auf "Zuweisungsoperator ("="), daher ein unärer Operator, der mit nur einem Operanden verknüpft ist assoziiert ist. Hier Deshalb können wir von Unäre numerische Erweiterung zu sprechen. Wie der Compiler um die Konvertierungen implizit mit den Schritten verbunden?
In allen drei Fällen kann die Umwandlung in zwei elementare Schritte zerlegt werden. Zunächst ist eine Umstellung geben Unboxing, dh die Daten (in diesem Fall vom Typ Byte oder Zeichen) in die entsprechenden primitiven Datentyp (char byte bezeichnet) umgewandelt wird.
An dieser Stelle haben wir eine zweite Phase der Umsetzung in allen drei Fällen unter Berücksichtigung fahren ist eine Erweiterung primitive Konvertierung. Kurz gesagt, es gibt keinen Verlust von Informationen und in der Tat, ist der neue Datentyp wählen Sie (int) überreichen im Vergleich zu Informationen (enthalten in der Variablen b oder c vom Typ Byte, Charakter-Typ) zu speichern. Aus diesem Grund kann der Compiler die Konvertierung selbst.
Wir betonen es als die einzige echte Bekehrungen, die implizit im Rahmen der numerischen Förderung durchgeführt werden können, sind erwähnt. Es gibt in der Tat auch die Möglichkeit, eine Typkonvertierung Identität, sondern hält den Datentyp der Variablen in Frage und wird daher von Interesse vor allem theoretisch.
| |
Linux (Kurs)
Ein vollständiger Reiseführer von Open-Source-System. Von 49 €. |
| |
PHP (Kurs)
Vollständige natürlich für die Erstellung dynamischer Websites. Von 49 €. |
| |
Ruby und Ruby on Rails (Kurs)
Neues Software-und Web-Anwendungen mit Ruby und RoR. Von 39 €. |