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;
}

posted on 2007-12-24 21:25  WindowsCE  阅读(707)  评论(0编辑  收藏  举报