Shifting -1 (which is represented as all bits set, e.g., 0xffff in 16-bit) left by 4 bits yields 0xfff0. When printed as a hex value using '%x', this prints as 'fff0' (or 'fffffff0' on 32-bit systems, but 'fff0' is the intended output for a 16-bit integer context). The decimal representation -16 is wrong due to the '%x' format specifier.