How to combing four 8-bits data into a 32-bit data

Hi There,
It is my first project using Arduino IDE using Sparfun REdBoard Qwiic, a Arduino IDE compatible controller.
My sensor has 32-bit resolution data for each channel using 2 data registers, each register is 16-bit. The wire.read() can only read one byte at a time, meaning it reads 8-bit two times from a register, one time for high bit and another for low bit. I have to combine 4 of the 8-bit data into a 32-bit data.

Example: Channel 1, all in decimal values

Register 1: H = 10, L = 81
Register 2: H = 172, L = 196

Register 1 H_L1 = 2641
Register 2 H_L2 = 44228

Channel 1 data = 173124804

I used shift "<<" operator to combine 2 8-bit into a 16-bit data, it is correct when H or L <= 128, it results a wrong number when any one of them > 127.
H_L = (H << 8) + L;

Similar issues happens for combining 2 16-bit data into a 32-bit data.
data = (H_L1 << 16) + H_L2;

Could you please help me with the data combining expression?
Thanks