Snažím se přepis následující kód v C do Javascriptu, ale já to nechápu.
#include <stdio.h>
#include <stdlib.h>
long long seed;
int next(int bits) {
seed=(seed * 0x5DEECE66DL + 0xBL) & ((1L << 48) - 1);
return (int)(seed >> (48 - bits));
}
void main (void) {
seed = 0;
for (int i=0;i<20;i++) {
printf ("%d\n", next(31));
}
}
Tohle byl můj pokus, ale dostal jsem jiné výsledky z C kódu:
let seed;
function next(bits) {
seed = (seed * 0x5DEECE66D + 0xB) & ((1 << 48) - 1);
return (seed >> (48 - bits));
}
seed = 0;
for ( let i=0; i<20; i++ ) {
console.log( next(31) );
}
Jak to mohu udělat?