pixel_data
es un vector
de char
.¿Por qué printf no imprime solo un byte al imprimir hexadecimal?
Cuando lo hago printf(" 0x%1x ", pixel_data[0])
Estoy esperando ver 0xf5
.
Pero obtengo 0xfffffff5
como si estuviera imprimiendo un entero de 4 bytes en lugar de 1 byte.
¿Por qué es esto? He dado printf
un char
para imprimir, es solo 1 byte, entonces ¿por qué está imprimiendo printf
4?
NB. La implementación de printf
está incluida dentro de una API de terceros, pero me pregunto si esta es una característica del estándar printf
.
Ver también: http://stackoverflow.com/questions/3512749/memcpy-adds-ff-ff-ff-to-the-beginning-of-a-byte –