...
Wiki Markup |
---|
This compliant solution reads-assumes that the unsigned integer has 32 bits. It reads in an unsigned integer value into an array of four bytes. The bytes are left shifted the appropriate amount and OR'ed together. However, when the bytes are shifted they are promoted to int. If the byte is negative, then all the left-most bits of the resulting int will be set, and these have to be masked off. Finally, the whole int expression may be negative when it is promoted to the long {{result}} and, again, the left-most bits have to be masked off. (cf. \[[Harold 97|AA. Java References#Harold 97]\] but the code there is wrong.) |
...