Pollux
: A mon avis le compilo est assez intelligent pour utiliser divu. Et de toutes façons avec les règles de promotion du C, s'il ne compile pas 100ul avec divu, il ne le fera pas pour 100 non plus.
Voilà une autre manière de le dire, probablement plus claire que la mienne.

En fait il suffit d'écrire : unsigned short value = (unsigned long)angle*100/90*16384/100; et ça devrait donner exactement le même résultat. Pour plus de clarté ça peut être une bonne idée de rajouter des parenthèses, mais les ul sont totalement inutiles. De manière générale, je me demande même à quoi servent réellement les suffixes UL à part à supporter les programmes K&R sans prototype des paramètres...
short i;
unsigned long j=i*123ul