I have a string which represents a large hexadecimal number which I want to convert to an integer. When I try to convert though, the answer for the integer equivalent is negative. Here's the code:

```
string hex = "9782E78F1636";

BigInteger b1 = BigInteger.Parse(hex, NumberStyles.AllowHexSpecifier);

```

How can I get the correct result?