exit=1 -> status=256
exit=2 -> status=512
exit=3 -> status=768
Il nesso c`e` eccome. E cmq non e` casuale, su UNIX e` cosi`. Del parametro passato ad exit(), il valore di uscita e` memorizzato nel byte basso (i bits 0-7), mentre a seguito di una wait() esso viene memorizzato nel byte alto (8-15). Tutto sempre in riferimento alla parola bassa (0-15).

Se ora rivedi in binario quei valori capirai tutto (spero):

00000001 -> 00000001 00000000
00000010 -> 00000010 00000000
00000011 -> 00000011 00000000

Ciao.