Hintergrund
Das Hamming-Gewicht einer Ganzzahl ist die Anzahl der Einsen in ihrer Binärdarstellung. Für diese Herausforderung werden Ganzzahlen mit 32 Bit dargestellt und sie sind vorzeichenlos.
Herausforderung
Geben Sie bei einer Ganzzahl zwischen 0 und 2 ^ 32-1 (nicht inklusive) eine andere Ganzzahl in demselben Bereich und mit demselben Hamming-Gewicht aus.
Beispiele
Input (Decimal) | Input (Binary) | Hamming weight | Possible output (Decimal)
46 | 0b0010 1110 | 4 | 15
12 | 0b0000 1100 | 2 | 3
1 | 0b0000 0001 | 1 | 2
3 | 0b0000 0011 | 2 | 6
2^31 | 0b1000....0 | 1 | 1
2^31+2 | 0b1000...10 | 2 | 3
2^32-5 | 0b1111..011 | 31 | 2^31-1
2^32-2 | 0b1111....0 | 31 | 2^31-1
0 | 0b0000 0000 | 0 | None (This case need not be handled)
2^32-1 | 0b1111....1 | 32 | None (This case need not be handled)
Wertung
Das ist Code-Golf , also gewinnt die Lösung mit den wenigsten Bytes in jeder Sprache.
2^31+2
, wiederhole ich, dass ich eine ungerade Zahl gesagt habe . Die fraglichen Antworten sind nur fehlgeschlagen, wenn sowohl das höchste als auch das niedrigste Bit vorhanden sind 1
.