Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
CRC32 returns negative on big files
Message
From
01/08/2011 04:00:41
 
 
To
01/08/2011 03:53:17
General information
Forum:
ASP.NET
Category:
Coding, syntax and commands
Environment versions
Environment:
VB 9.0
OS:
Windows 7
Network:
Windows 2003 Server
Database:
MS SQL Server
Application:
Web
Miscellaneous
Thread ID:
01519635
Message ID:
01519781
Views:
9
>>>>>>>>>(1) The short way is to cast the return result to UInteger, and change the return type of GetCrc32() to UInteger
>>>>>>>>
>>>>>>>>This line cannot be changed to UInteger:
>>>>>>>>
>>>>>>>>
>>>>>>>>        Dim lnCRC32Result As Integer = &HFFFFFFFF
>>>>>>>>
>>>>>>>>
>>>>>>>>It would give an error: "Constant expression not representable in type 'UInteger"
>>>>>>>
>>>>>>>Yes, it seems vb interpretes those as signed
>>>>>>>
>>>>>>>http://msdn.microsoft.com/en-us/library/s9cz43ek.aspx
>>>>>>>
>>>>>>>Append the type to the constant. U and I
>>>>>>>
>>>>>>>    Dim lnCRC32Result As UInteger = &HFFFFFFFFUI
>>>>>>>
>>>>>>
>>>>>>There you go! Thx, didn't know that syntax existed :-{
>>>>>
>>>>>Well, you know more vb than I do -
>>>>I know VB just well enough to work with it where it maps pretty straightforwardly to C# and that's about it.
>>>>>I just googled my way through
>>>>And I was too lazy :-}
>>>
>>>
>>>I just had the impression you were not in favour of unsigned types ;)
>>
>>As in my post to Michel this AM - for the case in point I just think Int32 is preferable ....
>
>
>Yeah, I read that post
>
>The data is the same, it's just the way looking at it that differs
>
>Michel did not want negative numbers, hence the suggestion to use unsigned
>
>And thinking about it - there must be a reason why unsigned was invented

I assume simply so that you can store a larger positive number is a 32 bit structure.
BTW, did you read the link that John referenced earlier....
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform