如何将 4 个 unsigned char 数组元素合并为一个十六进制值?

How to merge 4 unsigned char array elements in one hex value?

我有一个包含 4 个 unsigned char 类型元素的数组。如何将这些合并为一个十六进制值?我需要将此值转换为 IEE754 值。

例如unsigned char arr[]={0x41,0xD9,0xD4,0x03}

预期 o/p : 0x41D9D403

unsigned long hex_val = ((unsigned long)arr[0] << 24) | ((unsigned long)arr[1] << 16) | ((unsigned long)arr[2] << 8) | ((unsigned long)arr[3]);