finding_20the_20parity_20of_20a_20number
This is an old revision of the document!
Finding the parity of a number
by Richard Russell, March 2014
The parity of an integer is determined by the number of set (i.e. 1) bits in its binary representation. If there are an even number of set bits the parity is even and if there are an odd number of set bits the parity is odd. So for example %00100000 has odd parity and %00100010 has even parity.
The function below can be used to discover the parity of a 32-bit integer, it returns 0 for even parity and 1 for odd parity:
DEF FNparity(X%) X% EOR= X% >> 1 X% EOR= X% >> 2 X% EOR= X% >> 4 X% EOR= X% >> 8 X% EOR= X% >> 16 = X% AND 1
An equivalent function for 64-bit integers (BBC BASIC for Windows version 6 only) is as follows:
DEF FNparity(X%%) X%% EOR= X%% >> 1 X%% EOR= X%% >> 2 X%% EOR= X%% >> 4 X%% EOR= X%% >> 8 X%% EOR= X%% >> 16 X%% EOR= X%% >> 32 = X%% AND 1
finding_20the_20parity_20of_20a_20number.1523981631.txt.gz · Last modified: 2024/01/05 00:17 (external edit)