Значения выше 2147483647 возможны?
Если нет - просто сделайте AND с этим значением.
Если да - сдвиньте вычитанное значение вправо на один бит (и в дальнейшей обработке учитывайте, что работаете с исходными данными, деленными на два).
НО:
Скорее всего, проблема в порядке следования байт (DMTME-72 вроде этим "порадовал", если не путаю).
Тогда вам сюда:
http://forum.segnetics.com/showthread.php?t=461