Non, j’ai juste essayé un overflow dans les deux cas.
Le fait est que c’est défini pour les unsigned :
mais pas pour les signed.
Je pense que ça vient du fait que en unsigned y’a pas 42...
Type: Messages; Utilisateur: grim7reaper
Non, j’ai juste essayé un overflow dans les deux cas.
Le fait est que c’est défini pour les unsigned :
mais pas pour les signed.
Je pense que ça vient du fait que en unsigned y’a pas 42...
L’overflow sur les entiers non signés est défini (quasi-sûr, mais à vérifier). Celui sur les entiers signés ne l’est pas (ça j’en suis sûr).
La version XOR fait des manipulations bits à bits, pas...
En pratique (en C donc) ça ne le fait pas aussi bien que la version avec XOR : si tu échanges des entiers signés et que tu fais un overflow, paf ! Comportement indéterminé.
En XOR, pas d’overflow...
Oups, mea culpa.
J’ai posté trop vite et j’ai mélangé avec l’aliasing >_<
Oui, c’est plus lent, moins lisible et ça échoue quand les valeurs sont identiques.
À éviter donc (sauf cas très particulier).
C’est comme le chaînage XOR : c’est marrant à voir, mais en pratique...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.