De pariteitsbit is de eenvoudigste foutdetecterende code voor digitale gegevens, die wordt toegepast in computerapparatuur en in de telecommunicatie, om te controleren of de data correct van de ene naar de andere locatie werd overgebracht. Door diverse factoren kan er namelijk storing ontstaan op het signaal, waardoor dit niet het geval is.

Binaire data

Opgave

Er zijn verschillende interpretaties van pariteit mogelijk. In deze opgave maken we gebruiken van de volgende interpretatie:

In deze opgave is het de bedoeling dat je controleert of de pariteitsbit juist is, op basis van bovenstaande regels. Bekijk de voorbeelduitvoer voor meer duiding en implementeer deze oefening in een Java-klasse die je Parity noemt.

Validatie van de invoer

Binaire codes moeten aan een aantal voorwaarden voldoen. Indien aan een van onderstaande voorwaarden niet is voldaan, dient je programma de bijbehorende foutboodschap te tonen en te stoppen.

De invoer mag niet leeg zijn!
De lengte van een binaire code moet steeds een veelvoud van 8 zijn!
Een binaire code mag enkel uit 0 en 1 bestaan.

Voorbeeld

De tekst in het rood stelt invoer van de gebruiker voor (deze wordt niet uitgeprint door je programma).

Foute invoer

Welke code wil je controleren?
0101
De lengte van een binaire code moet steeds een veelvoud van 8 zijn!

Juiste invoer (1)

Welke code wil je controleren?
10101010
Het aantal 1-bits is even. De pariteitsbit is 0. De binaire code is juist.

Juiste invoer (2)

Welke code wil je controleren?
10101011
Het aantal 1-bits is even, maar de pariteitsbit is 1. De binaire code bevat een fout.

Juiste invoer (3)

Welke code wil je controleren?
01010100
Het aantal 1-bits is oneven, maar de pariteitsbit is 0. De binaire code bevat een fout.

Juiste invoer (4)

Welke code wil je controleren?
01010101
Het aantal 1-bits is oneven. De pariteitsbit is 1. De binaire code is juist.

Hierbij nog wat uitleg over de Dodona-testen voor deze oefening: