26 lines
531 B
C
26 lines
531 B
C
|
#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;
|
||
|
}
|