• [^] # Re: Encenser le C? Non!

    Posté par (Mastodon) . En réponse au journal C, un âge remarquable. Évalué à 5.

    l'overflow en général est en UB

    "en général" non, l'overflow est défini dans le cas des entiers non signés. L'addition/soustraction des non signés est modulo UTYPE_MAX (j'avoue que je ne sais plus pour la multiplication :-) ), c'est uniquement les signés qui sont indéfinis.

    De mémoire gcc (et surement d'autres) a une option pour forcer l'arithmétique "modulo" (ça n'existe pas vraiment en math pour les nombres signés, il me semble) pour les signés aussi, mais en fait personnellement dans ce que je fais, je n'ai la plupart du temps pas envie que (a+n) < a, pour un n positif. C'est plus souvent une erreur qu'un truc que je désire (je sais qu'en crypto, par exemple, c'est courant de vouloir que ça soit le cas)

    Tous les nombres premiers sont impairs, sauf un. Tous les nombres premiers sont impairs, sauf deux.