Now I know the reason.
Because the ARM core MCU consider a 32-bit number as little-endian.
For example:
0x12345678 is considered as [0x78, 0x56, 0x34, 0x12].
The two API does not consider the number as same persperctive.
So the resulting calcuted results are different, which is strange.
NXP should tell the programmer to consider this subtle things.