Vypocet parita

Jan Waclawek wek@evona.sk
Pondělí Září 10 14:47:45 CEST 2007


TOTO v C?
To je pre to nepodarene PICko?

Taketo nieco by sa nedalo pouzit?

#include <stdint.h>
uint8_t parity(uint8_t b) {
   b = b ^ (b >> 4);
   b = b ^ (b >> 2);
   b = b ^ (b >> 1);
   return b & 1;
}

alebo

const uint8_t nibble_parity[16] = {tabulka parit 4-bitovych nibbles, 
nechce sa mi rozpisovat... :-)}

uint8_t parity(uint8_t b) {
   return nibble_parity[b & 0x0F] ^ nibble_parity[b >> 4];
}

pripadne pre fajnsmekrov

uint8_t parity(uint8_t b) {
   return b ? parity(b >> 1) ^ (b & 1) : b;
}


No ak by islo o '51, tak je to jednoducho len vytiahnut bit P z PSW... ;-)

wek



Michal HW wrote:
> Zdravim
> nemate nekdo po ruce funkci pro vypocet paritniho bitu? V cecku. 
> Datovy byte: 7bitu, parita suda.
> 
> Diky.
> Michal Gregor
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
> 



Další informace o konferenci Hw-list