Heyho liebe Community!
Ich code in C, habe aber eine allgemein Info-Frage; die binären Operatoren gibts ja auch in Java.
Ich habe folgenden Datentyp:
Obiger hex Wert entspricht ja in binärer Form:
Wie kann ich nur mithilfe der binären Operatoren rausfinden, wie oft, exakt eine 1 neben einer 1 steht (11, aber nicht 111 oder 1111...)
Bsp:
Ergebnis : 3
Ich könnte ja zum Bleistift:
Aber das sieht i-wie plöd aus...
Danke für eure Hilfe!
Edit: Ausserdem zählt obiger Code 111 als zwei 11...Also hier bräuchte ich Hilfe...Ausserdem, geht das nicht irgendwie galanter?
Ich code in C, habe aber eine allgemein Info-Frage; die binären Operatoren gibts ja auch in Java.
Ich habe folgenden Datentyp:
Java:
unsigned long long example = 0x6911E091631;
Code:
00000000 00000000 00000110 10010001 00011110 00001001 00010110 00110001
Wie kann ich nur mithilfe der binären Operatoren rausfinden, wie oft, exakt eine 1 neben einer 1 steht (11, aber nicht 111 oder 1111...)
Bsp:
Code:
00000000 00000000 00000[B]11[/B]0 10010001 00011110 00001001 00010[B]11[/B]0 00[B]11[/B]0001
Ich könnte ja zum Bleistift:
Java:
int counter(0);
unsigend long long startvl = 0x03;
for ( int j = 0; j < somevalue; j++) {
if ( (startvl & example) == startvl )
counter++;
startvl <<= 1;
}
Aber das sieht i-wie plöd aus...
Danke für eure Hilfe!
Edit: Ausserdem zählt obiger Code 111 als zwei 11...Also hier bräuchte ich Hilfe...Ausserdem, geht das nicht irgendwie galanter?
Zuletzt bearbeitet von einem Moderator: