samerand/samerand.c

26 lines
531 B
C
Raw Normal View History

#include <stdio.h>
#include <stdint.h>
uint32_t polynomial = 0x04C11DB7;
static uint32_t rand_step(uint32_t input) {
int i;
uint32_t output = input + 1;
for (i = 0; i < 32; i++) {
if (output & 0x80000000)
output ^= polynomial;
output = output << 1;
}
return output;
}
int main(int argc, char **argv) {
int i;
uint32_t init = 0;
for (i = 0; i < 256; i++) {
init = rand_step(init);
printf("%08x\n", init);
}
return 0;
}