だからそういうのも仕様だから言えよ
単純に32bitで管理してて補数ありだった場合
上位1バイトを削って記録して読み込む場合は
復元した3bytのうち3バイト目の一番上位bitを見て1なら
4バイト目に0xFF、上位bitが0なら0x00を入れて
32bitのintに復元すればたぶん問題ないよ