cancel
Showing results for
Did you mean:

## Insights

I always get asked how to convert a sighed integer to unsigned. Here is a little note on how to do stuff.

To find the FingerPrint DataBase record for a SIS Part file

Let’s look at this DVSSP

21A4146BF2584A70B34E4E025D4DACD3~FE~FEF41EE7~00~1.DVSSP

Look at the first 3 values between the '~' characters:

21A4146BF2584A70B34E4E025D4DACD3~FE~FEF41EE7~00~1.DVSSP

T
o find the Table in which this DVSSP belongs to you need to convert ~FE~ from HEX to Decimal: FE = 254

This is the table in which the Fingerprint record resides - table [dbo.MemberTable_254].

In table [dbo.MemberTable_235] look for a [ParentTransactionId] of 21A4146BF2584A70B34E4E025D4DACD3.

This will be the item in question or, if there are more than one item with the same [ParentTransactionId] you can look at FEF41EE7and convert it from HEX to Decimal (FEF41EE7= 1157914435) which is an unsigned integer

Now convert the unsigned integer to a signed integer = -16555737

And look for ??? in [FPHashPart1].

21A4146BF2584A70B34E4E025D4DACD3 – Transaction ID

~FE~ - MemberTable (HEX)

FEF41EE7– FB Hash part 1 (HEX unsigned integer)

~00~ - Uniquerfire

1 – Hash Version

.DVSSP – File Extension (Digital Vault Saveset SIS Part)

Convert unsigned to signed

FEF41EE7 = X = 4277411559

if                             X <= 2^31 – 1 = X

[ if                          X <= 2147483647, then X == the decimal value]

else if                   X > 2^31 – 1 = X – 2^32

[else if                  X > 2147483647, then X == (4277411559 - 4294967296) == -17555737]