If you have such an operator
decimal x = 5.6;
the compiler first looks only at the right side of the task ( 5.6), determines its type ( double), and then checks whether the result can be assigned to the variable on the left side ( x).
x decimal, , double ( double decimal), .
( - - -. , .)