Quiz Entry - updated: 2026.07.07
What is the difference between sign extension and zero extension?
Widening fills the new high bits: a signed value copies its sign bit (sign extension), an unsigned value fills with 0s (zero extension).
Converting 4-bit value 1011:
Sign extension: 11111011 (preserves value -5)
Zero extension: 00001011 (gives value 11)
C behavior:
signed char→int: Sign extensionunsigned char→unsigned int: Zero extension
Danger: Casting signed char (-5) to unsigned int first sign-extends to int (-5), then reinterprets as unsigned (huge positive number).