Solución:
El código de la respuesta actualmente aceptada provoca el siguiente error en mi sistema:
Esto se debe a que PowerShell siempre intenta convertir los valores hexadecimales a int primero, por lo que incluso si lanza a uint64
, el entorno se quejará si el número tiene un valor int negativo. Puede ver esto en el siguiente ejemplo:
PS C:> [uint64] (-1)
Cannot convert value "-1" to type "System.UInt64". Error: "Value was either too large or too small for a UInt64."
At line:1 char:26
+ Invoke-Expression $ENUS; [uint64] (-1)
+ ~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvalidCastIConvertible
Necesita lanzar la representación de cadena del número a uint64
para evitar esto:
[uint64]"0xff000000" + [uint64]"0xAA"
0xff00000AA es demasiado grande para un entero sin signo de 32 bits, use uint64
PS> [uint64]0xff00000AA
68451041450
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)