Si j'essaie avec BitConverter, il faut un tableau d'octets et je n'en ai pas. J'ai un Int32 et je veux le convertir en UInt32.
En C++, cela ne posait aucun problème.
Si j'essaie avec BitConverter, il faut un tableau d'octets et je n'en ai pas. J'ai un Int32 et je veux le convertir en UInt32.
En C++, cela ne posait aucun problème.
Étant donné cette fonction :
string test(long vLong)
{
ulong vULong = (ulong)vLong;
return string.Format("long hex: {0:X}, ulong hex: {1:X}", vLong, vULong);
}
Et cette utilisation :
string t1 = test(Int64.MinValue);
string t2 = test(Int64.MinValue + 1L);
string t3 = test(-1L);
string t4 = test(-2L);
Ce sera le résultat :
t1 == "long hex: 8000000000000000, ulong hex: 8000000000000000"
t2 == "long hex: 8000000000000001, ulong hex: 8000000000000001"
t3 == "long hex: FFFFFFFFFFFFFFFF, ulong hex: FFFFFFFFFFFFFFFF"
t4 == "long hex: FFFFFFFFFFFFFFFE, ulong hex: FFFFFFFFFFFFFFFE"
Comme vous pouvez le constater, les bits sont entièrement préservés, même pour les valeurs négatives.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.