You can convert the following:
If you are converting an integer a to an unsigned type, the resulting value x is the least unsigned integer such that a and x are congruent modulo 2^n, where n is the number of bits used to represent an unsigned type. If two numbers a and x are congruent modulo 2^n, the following expression is true, where the function pow(m, n) returns the value of m to the power of n:
a % pow(2, n) == x % pow(2, n)
If you are converting an integer a to a signed type, the compiler does not change the resulting value if the new type is large enough to hold a. If the new type is not large enough, the behavior is defined by the compiler.
If you are converting a bool to an integer, values of false
are converted to 0; values of true are converted to
1.
Integer promotions belong to a different category of conversions; they are not integral conversions.
Related References