Funktion zum Ermitteln der Bitparität (odd/even)
-
Hallo,
gibt´s in C/C++ eine Funktion, die mir die Bitparität (odd/even) ermittelt, ohne aufwändige Bitverschieberei?
Danke!
-
fujitsufan schrieb:
Hallo,
gibt´s in C/C++ eine Funktion, die mir die Bitparität (odd/even) ermittelt, ohne aufwändige Bitverschieberei?
Danke!Was ist C/C++ ?
-
Warum manche Leute so engstrinig sind und bei einfachen Formulierungen sofort Panisch reagieren. C/C++ kann C und/oder C++ heißen und ist somit eine valide Frage.
Wo C/C++ falsch ist ist auf die Frage: Mit welcher Programmiersprache schreibst du das Programm? Aber das ist hier nicht gegeben.
Zu dem OP:
Nein, es gibt im Standard keine Funktion dafür, manche Compiler bieten eine parity.h an wo einige Funktionen dazu definiert sind. Ansonsten einfach selber machen:unsigned char parity(unsigned char val) { val ^= val >> 4; val ^= val >> 2; val ^= val >> 1; val &= 0x01; return val; }
-
NixDa schrieb:
Warum manche Leute so engstrinig sind und bei einfachen Formulierungen sofort Panisch reagieren. C/C++ kann C und/oder C++ heißen und ist somit eine valide Frage.

-
fujitsufan schrieb:
Hallo,
gibt´s in C/C++ eine Funktion, die mir die Bitparität (odd/even) ermittelt, ohne aufwändige Bitverschieberei?
Danke!pseudocode:
if ( num % 2 )
ungerade
esle
grade
-
grüne Kakerlake schrieb:
pseudocode:
if ( num % 2 )
ungerade
esle
gradeKnapp daneben ist auch vorbei

Hier gibt's ein paar Anregungen:
http://graphics.stanford.edu/~seander/bithacks.html#ParityNaive