Вы пытаетесь просто добавить четыре байта, а не помещать значения в правильную часть целого числа.Без указания порядка байтов вашей платформы невозможно дать окончательный ответ.
Общий подход состоит в том, чтобы поместить каждый байт в правильную позицию int, как-то так:
int i = 256 * 256 * 256 * данные [0] + 256 * 256 * данные [1] + 256 * данные [2] + данные [3]
(пример с прямым порядком байтов)
Обратите внимание, что индексы основаны на 0, а не на 1, как в вашем примере.«Основа» в этом примере - 256, потому что каждый байт может представлять 256 значений.
Чтобы понять, почему это так, рассмотрим десятичное число
5234
-пишите это как:
5000 + 200 + 30 + 4
или 10 * 10 * 10 * 5 + 10 * 10 * 2 + 10 * 3 + 4
Когда вы обрабатываете данные для каждой цифры, вы умножаете значение на позицию «число-основание-на-число-сила-цифры» (крайняя правая цифра для основания 10 равна 10 ^ 0, затем 10 ^ 1, 10 ^2 и т. Д.).