..
Co jest numeryczne promocji? Jest to bardzo częsta operacja w programie i odpowiada niejawna konwersja argumentów (np. dodajnik) związane ze zwykłym operator (np. "+" oznacza, że dodatek).
To jest to niezbędne, gdy argumenty nie pasują dokładnie do typu danych, które ma do operacji. W niektórych przypadkach, konwersja musi być wyraźna (na przykład za pomocą oddanych ) i dlatego jest w gestii programisty.
W innych przypadkach, zwłaszcza w przypadku bardziej zaawansowanych języków programowania i rozproszonych (dalej będziemy się odnosić w szczególności do języka Java), konwersji odbywa się automatycznie, co pośrednio. W tym przypadku można mówić numerycznych promocji.
Możemy wyróżnić dwa główne typy numeryczne promocji: jednoargumentowe numeryczne promocji i binarne numeryczne promocji, które różnią się zasadniczo w naturze arytmetycznej biorących udział w operacji (jednoargumentowe lub binarne). Przyjrzyjmy się obu z nich, upewniając się, że dają kilka krótkich przykładów kodu Java.
Zobaczmy przykład:
byte b = 2;
int a [] = new int [b];
Postaci c = '\ u0001';
do [c] = 1;
[0] = c;
W tym przypadku, choć bardzo proste, można wyodrębnić trzy przykłady jednoargumentowe numeryczne promocji. Pierwszym z nich jest edukacja int a [] = new int [b]. Wielkość "tablicy fakt powinien być reprezentowany przez liczbę całkowitą (zmienna int), natomiast b jest zmienną typu byte.
Później, zastanawiajmy się na edukację [c] =- 1. W tym przypadku jest on przekazywany jako wskaźnik "tablic, po raz kolejny, a nie parametr typu integer, ale (w tym przypadku) znak typu. Podobnie, next [0] =- 0 jest przypisana do pozycji "tablicy do wartości znaków typu, a nie typu int.
Obserwujemy pierwsze, że jest to związane z konwersją do "operator przypisania ("="), następnie operator jednoargumentowy, który jest związany z jednym argumencie. Oto dlaczego możemy mówić o jednoargumentowe numeryczne promocji. Jak kompilator obsługuje konwersji pośrednio związane z czynności opisanych?
We wszystkich trzech przypadkach, konwersja może być rozłożona na dwa podstawowe etapy. Po pierwsze, konwersja typu odbywa unboxing, tj. dane (w tym przypadku bajtów lub znaków) przekształca się w odpowiedni typ danych pierwotnych (byte i char, odpowiednio).
W tym momencie przechodzimy do drugiego etapu konwersji: we wszystkich trzech przypadkach pod uwagę coraz większa prymitywne konwersji. W skrócie, nie ma utraty informacji i rzeczywiście, nowy typ danych wybrana (int) jest overabundant w odniesieniu do informacji przechowywanych (zawarte w zmiennej b, lub c Byte, rodzaj typu znaków). Z tego powodu kompilator może zrobić konwersję siebie.
Kładziemy nacisk na to, jak tylko konwersje rzeczywistym, które można wykonać w sposób dorozumiany w ramach promocji numeryczne są wymienione. Nie jest bowiem również możliwość konwersji typów tożsamości, ale utrzymuje typ danych zmiennej w pytanie i dlatego jest zainteresowanie głównie teoretyczne.
| |
Kurs Linux
Kompletny przewodnik po systemie open-source. Począwszy od 49 €. |
| |
Kurs PHP
Pełny kurs tworzenia dynamicznych stron internetowych. Począwszy od 49 €. |
| |
Oczywiście Ruby i Ruby On Rails
Tworzenie oprogramowania i aplikacji webowych w języku Ruby RoR. Począwszy od 39 €. |