In computer science, type conversion or typecasting refers to changing an entity of one datatype into another. This is done to take advantage of certain features of type hierarchies. For instance, values from a more limited set, such as integers, can be stored in a more compact format and later converted to a different format enabling operations not previously possible, such as division with several decimal places' worth of accuracy. In object-oriented programming languages, type conversion allows programs to treat objects of one type as one of their ancestor types to simplify interacting with them.
There are two types of conversion: implicit and explicit. The term for implicit type conversion is coercion. The most common form of explicit type conversion is known as casting. Explicit type conversion can also be achieved with separately defined conversion routines such as an overloaded object constructor.
In a mixed-type expression, data of one or more subtypes can be converted to a supertype as needed at runtime so that the program will run correctly. For example, the following is legal C language code:
double d; long l; int i; if (d > i) d = i; if (i > l) l = i; if (d == l) d *= 2;
Although d, l and i belong to different datatypes, they will be automatically converted to the same datatype each time a comparison or assignment is executed. This behavior should be used with caution, as unintended consequences can arise. For example, in the above comparisons, there would be a loss of information in a conversion from type double to type int if the value of d is larger than i can hold. Data can also be lost when floating-point representations are converted to integral representations as the fractional components of the floating-point values will be truncated (rounded down). Conversely, converting from an integral representation to a floating-point one can also lose precision, as floating-point representations are generally not capable of holding integer values precisely. This can lead to situations such as storing the same integer value into two variables of type int and type double which return false if compared for equality.
Each programming language has its own rules on how types can be converted. In general, both objects and fundamental data types can be converted.
Typumwandlung | Conversion de type | Typeconversie | Приведение типа
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Type conversion".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world