^ steht für xor, * für don't care (irrelevante Stelle) even parity bit = bit7 ^ bit6 ^ bit5 ^ bit4 ^ bit3 ^ bit2 ^ bit1 ^ bit0 = H ^ G ^ F ^ E ^ D ^ C ^ B ^ A ----bit7---- ----bit6---- ----bit5---- ----bit4---- ----bit3---- ----bit2---- ----bit1---- ----bit0---- H G F E D C B A swap D C B A H G F E (1) xor H^D G^C F^B E^A D^H G^C F^B E^A (2) 4 0 0 0 0 0 1 0 0 (3) + * * * * D^H^G^C G^C^1 F^B E^A (4) -5 1 1 1 1 1 0 1 1 and * * * * D^H^G^C 0 F^B E^A 6 0 0 0 0 0 1 1 0 + * * * * D^H^G^C^F^B F^B^1 F^B^1 E^A ==0? * * * * D^H^G^C^F^B * * * ja: 1 0 0 0 0 0 0 0 1 (5) and 0 0 0 0 0 0 0 E^A (6) return. nein: 1 0 0 0 0 0 0 0 1 + * * * * * * * E^A^1 1 0 0 0 0 0 0 0 1 (5) and 0 0 0 0 0 0 0 E^A^1 (7) return. Anmerkungen (1) obere und untere 4 Bits vertauscht (2) X ^ Y === Y ^ X (3) X - (-4) === X + 4 (4) Plus auf einzelnes Bit ist dasselbe wie xor. Durch den Übertrag wird das Originalbit in die nächsthöhere Stelle geschoben. (5) nur bit0 ist relevant, übrige werden ausgeblendet (6) D^H^G^C^F^B ist 0. da 0^X===X folgt D^H^G^C^F^B^E^A = E^A. (7) D^H^G^C^F^B ist 1. also D^H^G^C^F^B^E^A = E^A^1.