Unsigned longs trop courts....

J'aurais fait des variables comme ça, je les aurais pas signés non plus.

Je ne vois pas le sens de la remarque ...

En général, on ne revendique pas la paternité d'une merde, sauf si on est artiste.

Selon la doc, un "unsigned long" devrait pouvoir contenir 32 bits. Les miens s'arrêtent à 16.

J'aimerais savoir pourquoi.

Non. unsigned long fait bien 32 bits.
C'est plutôt ton 1 qui ne va pas. 1 est un entier si tu ne précises pas.

w = 1UL << c;

Merci, c'était bien ça.

Le C, c'est surnois.

Karma.

C'est mieux ...