I have lots of big numbers represented by two parts: one is 4 bytes integer/float, the other is left shift offset. Left shift number is like 0, 1, 1, 2, 2, 3, 4, 5, 5, … , each number at least shows once, all big numbers can have same left shift offset. Let F denote the frequency of each offset, 1 <= F <= N, N is number of all big numbers.

For example: I have 4 big number, N = 4, 1 <= F <=4.

left shift number : 0 , 1, 1, 2,

4 byte Integer : 0x01FFFFeFF, 0x01FFFFeFF , 0x01FFFFeFF, 0x01FFFFeFF

Or we can represent as below, the first number left shift 2 bytes compared with the last one, looks 4 offset since FF represents one byte, hope it is clear.

1FFFFeFF

1FFFFeFF

1FFFFeFF

1FFFFeFF

Any body have any efficient way to resolve the problem? Thanks a lot.