View Single Post
Sitat av Dyret Vis innlegg
Vel, dette er ikke så utrolig viktig for oppgaven, men du er inne på noe riktig. Observer at 1337 = 1 (mod 2) og 42 = 2 (mod 4). Hvis du har en programmeringskalkulator som viser binærverdien til decimaltallene du regner ut (f.eks. den i Windows7 når du trykker ALT+3) så vil du se at for hver gang det ganges med 42 så skiftes binærverdien av j et hakk mot venstre.



Så dette er ikke veldig tilfeldig. Det kunne tilsvarende stått stått j=1 og

Kode

do...while (j <<= 1)
Siden j er totalt uavhengig av i vil det bli et fast antall runder i funksjonen hver gang. Men hva k faktisk tilsvarer til slutt har du ikke løst enda :P E hint kan være å prøve verdiene 255 og 256.
Vis hele sitatet...
Verdien til k vil jo varierer ut i fra hvor mange bits en integer er på om jeg forstod hele overflowen riktig? Og i fra det jeg husker fra lærebøkene forrige semester kan man ikke forutsette at en standard integer har en fast verdi, da dette kan variere fra kompilator til kompilator. Dermed vil verdien til k vil dermed kunne variere mellom forskjellig kompilatorer og/eller kodespråk. Dermed vil min verdi av k være forskjellig fra din verdi av k, og med mindrejeg har misforstått noe så vil dette svaret ikke ha et direkte fastitsvar.