Numerous questions regarding ARINC429 protocol
Resolutions in the A429 spec are approximate, so calculate them yourself.

Resolution = Range / (2^significant bits)

Here is one way to do it:
Load your 32 bits into a signed 32-bit integer.
Shift left 3 so the sign bit is now in bit 32.
Shift right (32-significant bits)-1 to form a 2's complement "fixed-point" number.
Convert to float and multiply by the resolution.
Done.

Note that when a signed integer is used the high bit is sign extended on the shift right.

"Fixed-point" is also known as "scaled" in some circles. It's a method of storing and performing math on a real number using an integer rather than using a float. The resolution is the weight of one lsb bit. The resolution is documented somewhere and multiplied by the integer to get the float when debugging and such, but machine code does not "know" that you think of it as a float.

The range is key to fixed -point numbers because it bounds the value. The number of significant bits affects the accuracy. You could use the wrong number of significant bits and still get a "usable"  number but with a possible loss of accuracy if you choose one that is too small. Beware that unused low bits are sometimes repurposed for status flags, etc., so don't expect these to alway be zero. Also, the specs describes an ideal standard but in the real world liberties are taken with labels repurposed as needed.

Because of the way 2's complement integers work, the max positive value possible will be the range minus the resolution. For instance, you can get exactly -180 degrees but not quite +180 degrees.