Hallo ,
Ich wünsche euch ein frohes neues Jahr
Beim Erarbeiten des Quellcodes der Random Klasse fiel mir dieser Codebereich auf:
Quelle: java.util: Random.java
Warum wird hier gefragt, ob eine bitweise UND Verknüpfung dem normalen Wert entspricht?
zB: 10 im 2-System: 1010
minus 10 => 11 ?! [ Erst invertieren und dann 1 dazu addieren ?! ]
1010 & 11 =>00010 = 10 = 2
Ich wünsche euch ein frohes neues Jahr
Beim Erarbeiten des Quellcodes der Random Klasse fiel mir dieser Codebereich auf:
Java:
public int nextInt(int n) {
if ( n>0) {
if(n & -n) == n) {
return (int) ((n * (long) next(31)) >> 31);
...
Quelle: java.util: Random.java
Warum wird hier gefragt, ob eine bitweise UND Verknüpfung dem normalen Wert entspricht?
zB: 10 im 2-System: 1010
minus 10 => 11 ?! [ Erst invertieren und dann 1 dazu addieren ?! ]
1010 & 11 =>00010 = 10 = 2