In C# the following works:
UInt32 MyUInt32 = 0xFFFFFFFF;
UInt64 MyUInt64 = 0xFFFFFFFFFFFFFFFF;
But the equivalent VB generates error BC30439: Constant expression not representable in type 'ULong':
Dim MyUInt32 As UInt32 = &HFFFFFFFF ' Error BC30439
Dim MyUInt64 As UInt64 = &HFFFFFFFFFFFFFFFF ' Also fails
Changing the initialisation value to the largest value representable as a signed integer (i.e. Int32 or Int64) works:
Dim MyUInt32 As UInt32 = &H7FFFFFFF ' Works
Dim MyUInt64 As UInt64 = &H7FFFFFFFFFFFFFFF ' Also works
Is there any way to get that final (32nd or 64th) bit in VB?