Shifts a 128-bit quantity, represented as two 64-bit quantities LowPart and HighPart, to the right by a number of bits specified by Shift and returns the low 64 bits of the result.
unsigned __int64 __shiftright128(
unsigned __int64 LowPart,
unsigned __int64 HighPart,
unsigned char Shift
The low 64 bits of the 128-bit quantity to shift.
The high 64 bits of the 128-bit quantity to shift.
The number of bits to shift.
The low 64 bits of the result.
Header file <intrin.h>
The Shift value is always modulo 64 so that, for example, if you call __shiftright128(0, 1, 64), the function will shift the high part 0 bits right and return a low part of 0 and not 1 as might otherwise be expected.
For an example, see __shiftleft128.