# BBC BASIC Programmers' Reference

### Site Tools

finding_20the_20parity_20of_20a_20number

## 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 ```
This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information
finding_20the_20parity_20of_20a_20number.txt · Last modified: 2018/04/17 16:13 by tbest3112

### Page Tools 