Windows CE下随机数生成函数

 

DWORD sr;
int RandBit() {
    if (!sr)
        if (!(sr = GetTickCount()))
            sr = 1;
    sr = ((((sr>>7) ^ (sr>>5) ^ (sr>>2) ^ (sr>>1) ^ sr) & 1) << 31) |
        (sr >> 1);
    return (sr & 1);
}
DWORD WINAPI Random () {
    DWORD res = 0, loop;
    for (loop = 0; loop < 32; loop++)
        res = ((res<<1) | RandBit());
    return res;
}

你可能感兴趣的:(windows)