#include #include #include long long millis(){ struct timeval tv; gettimeofday(&tv, NULL); long long millisecs = (long long)tv.tv_sec * 1000 + tv.tv_usec / 1000; return millisecs; } bool flip(){ bool n = false; long long then = millis() +1; while (millis() <= then){ n=!n; } return n; } bool get_fair_bit(){ while (true) { bool a = flip(); if (a != flip()){ return a; } } } char get_random_byte(){ char n = 0; for (int i = 0; i < 8; ++i){ n <<=1; n|= get_fair_bit(); } return n; } int main(){ for (int i = 0; i < 128; ++i){ printf("%hd\n", get_random_byte()); } }