Random number test code (coin toss mode)


static unsigned int bitcount(unsigned int n)
{
    unsigned int c =0 ;
    for (c =0; n; ++c)
    {
        n &= (n -1) ;
    }
    return c ;
}

void random_test(void)
{
    // char *str = random_string(10);
    // LOG_I("%s", str);
    // platform_memory_free(str);

    unsigned int b = 0, bit = 0, zero = 0, random;
    int i = 0;
    float bit1, zero1;

    for (i = 150000000; i > 0; i--) {
        random = random_number();
        b = bitcount(random);
        bit += b;
        zero += (31 - b);
    }
    bit1 = bit * 1.0;
    zero1 = zero * 1.0;
    printf("\nbit is %d, zero is %d, bit/zero is %f\n", bit, zero, (zero1/bit1));
}

Published 115 original articles · won praise 283 · views 190 000 +

Guess you like

Origin blog.csdn.net/jiejiemcu/article/details/103913558