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