Conversion d'un Integer négatif en UInteger
Bonjour à tous !
J'ai un gros problème de convertion.
Je veux convertir un Int qui vaut -1579887150 en UInteger.
Je sais en ayant bidouillé un peu que la valeur de mon UInteger doit être égale à 2715080146.
Comment faire celà en .Net sans écrire la vilaine chose que voici :
Citation:
Dim iMonEntier As Integer = -1579887150
Dim uiIntMax As UInteger = Integer.MaxValue
Dim uiMonEntierNonSigne As UInteger = CUInt(uiIntMax + (uiIntMax - Math.Abs(iMonEntier)) + 2)
Pourquoi j'ai fait comme ça ?
Et bien je me suis dis, que puisqu'un UInt ne connaissait pas les négatifs ceux ci devait être codé au dessus de la valeur maximum d'un entier (Integer.MaxValue). J'ai rajouté 2 pour que le résultat soit exact. Ma fonction semble fonctionnée, mais je ne crains qu'à un moment ou à un autre elle ne me retourne un résultat complètement erroné
:arf:
Bref, comment on fait déjà pour faire une conversion comme il faut avec le ptit décalage de bit qui va bien ?
Merci de vos éventuels réponses :D
NB : C'est pour du CompactFramework 2 mais je poste ici car je pense que le problème n'est pas lié à celui-ci.