Conversion of a value from one type to another. Implicit casting is performed silently by the compiler when the casting would not cause any information to be lost (e.g., converting a 16-bit integer to a 32-bit integer value). Explicit casting is coded by the programmer using the particular language’s cast operator. This is necessary when the use of a value would cause a possible loss of data (e.g., converting a 32-bit integer to a 16-bit integer value).