im pulling data from a modbusTCP server, but when i should receive a negative value it shows as a big number.

```
self.export = self.c.read_holding_registers(37113, 2)[1]

```

I know it has something to do with it being signed or unsigned but im really having trouble solving it.

```
    print("export:      " + "{:02f}W".format(self.inverter.export))
    print("exportBytes: " + "{:16b}W".format(self.inverter.export))
    print("export:      " + "{:02f}W".format(self.inverter.export))
    print("export 1:    " + "{:16b}W".format(1))
    print("export-1:    " + "{:16b}W".format(-1))

```

Prints out

```
export:      59142.000000kW
exportBytes: 1110011100000110kW
export:      59142.000000kW
export 1:                   1kW
export-1:                  -1kW

```

Any guesses?