I need to receive a 32-bit signed integer that is used for computations. I am aware that it might be represented with some loss of information if I put it in a register but that is a cceptable (Max integer value in Numerical Register). The bits of the 32-bit value is read in two 16-bit GI's (unsigned integers), and then needs to be 'reconstructed' as a 32-bit signed integer and I am struggling to do so.

For 16-bit unsigned/signed conversion, the following thread posts some options to do so:

However, these methods in my case would require computations with an unsigned 32-bit integer range (2**32) which is not representible in FANUC/KAREL as far as I know. Are there any other methods for me to use? Short of mapping the 32-bit signed integer to individual DI's and then reconstructing* the value myself, I'm out of ideas.

*while on the topic of reconstruction, does FANUC (or KAREL specifically) use two's complement representation of signed integers?