Hola
Estoy estudiando un código y me encuentro con una sintaxis que recuerdo que ya entendía pero ya se me olvidó...
for (i=0; i<8; i++)
tmpdata[0] |= results[i+16] ? (0x80>>i) : 0;
for (i=0; i<8; i++)
tmpdata[1] |= results[i+24] ? (0x80>>i) : 0;Sólo sé que el equivalente es éste para la primer línea rara:
tmpdata[0] = tmpdata[0] | results[i+16] ? (0x80>>i) : 0;Pero ya cuando entra el ? me quedo de a

¿Qué es lo que hace ese signo?
Edito: tmpdata y results son enteros de 8 bits.