The 32-bit values in SHA-256 are unsigned integers, which means the only values they are allowed to have are between 0 and 4,294,967,295, there are no negative values allowed.
If you look at the 4th initial value (0xa54ff53a), that has an integer value of 2,773,480,762. Implementing SHA-256 in programming languages that do not have the a 32-bit unsigned integer, but rather a signed integer, results in that value being interpreted as -1,521,486,534, but the bits of the value are still the same.
For modular addition that is not an issue, (see two's complement), but can be an issue for the shifting and rotations, which need to be performed across all 32-bits, and not just the lower 31. XOR also does not care if the numbers are signed are not, and since SHA-2 only uses addition, XOR, and shifting (and thus rotation), implementing SHA-256 in a programming language that only supports unsigned integers is possible, just maybe a little slower if you have to deal with rotation through shifting of a signed integer, like in Visual Basic 6.