Parzysta liczba zer

Feb 12, 2004 17 Replies

Czy wiecie może w jaki sposób sprawdzić czy zadana liczba 8 bitowa ma parzystą liczbę zer?



Policzyc sobie zera.

Bez okreslenia problemu nie uzyskasz konkretnej odpowiedzi. System binarny czy dziesietny? Realizacja w C++, assemblerze mikrokontrolera czy bramki logiczne?

TP.

Zostałem zmylony przez nazwę grupy :) W C++ to by było zbyt banalne ;) Chodzi o realizację na bramkach (no chyba że trzeba jakiś liczników przerzutników etc ale chyba nie) a liczba jest podawana w naturalnym dwójkowym.

Zalezy od zastosowania i sposobu w jaki reprezentujesz liczbe. Moze rejestr przesuwajacy. Sprawdzac bit po bicie -- jesli jest zero na danym bicie to:

- ustawic flage X

- zanegowac flage Y. I tak dalej dla calej liczby.

Na koncu:

- jesli flaga X jest ustawiona, to oznacza, ze w ogole byly jakies zera,

- jesli flaga Y jest zero, to znaczy, ze mielismy parzysta liczbe zer.

- jesli flaga Y jest ustawiona, to znaczy, ze mielismy nieparzysta liczbe zer.

Trix.

Na szybko.

mamy bity od 0 do 7. bity 0 i 1 wchodza na bramke XOR_01 (daje na wy. 1, gdy na we. sa rozne bity, a zero gdy takie same). bity 2 i 3 wchodza na bramke XOR_23 bity 4 i 5 wchodza na bramke XOR_45 bity 6 i 7 wchodza na bramke XOR_67

teraz wyjscie XOR_01 i XOR_23 wchodzi na bramke XOR_A wejscie XOR_45 i XOR_67 na bramke XOR_B

teraz wyjscia XOR_A i XOR_B wchodza na XOR_C.

Jesli jest nieparzysta liczba zer to na XOR_C mamy 1 i na odwrot.

Rozwiazanie na szybko. Dziala?

Trix.

Tak też to rozwiązałem na kolosie :) ale to chyba nie jest poprawne rozwiązanie... daj sobie np same zera a potem np same jedynki z wyjątkiem zerowego i pierwszego bitu...

U¿ytkownik "Adam Mikuta" snipped-for-privacy@poczta.wytnij.onet.pl.xx>

napisa³ w wiadomo¶ci news:c0g84r$q76$ snipped-for-privacy@atlantis.news.tpi.pl

Zobacz jak to zrobiono w gotowych generatorach parzysto¶ci:

40101:
formatting link
74180:
formatting link
74LS280:
formatting link
54AC280:
formatting link

Skoro jest parzysta liczba zer to.... jest te¿ parzysta liczba jedynek !!!!

U¿yj kontrolera parzysto¶ci typu 74XX280

Roman

Sprawdzic parzystosc jedynek. A to swietnie robia bramki XOR.

J.

parzysta liczba zer oznacza parzystą liczbę jedynek; ergo: użyj XOR

Czy chodzi o taki układzik:

0 1 2 3 4 5 6 7 | | | | | | | | xor xor xor xor \ / \ / | | | | xor xor \ / \__ __/ | | xor | Bo już sam nie wiem czy to dobrze jest.. wcześniej jak liczyłem to źle wychodziło ale teraz patrzę niby dobrze...

Wyjdzie 0 na wyjściu i to jest OK

No i nie wyjdzie bo jezeli damy

0-1 1-1 2-0 3-0 4-1 5-1 6-0 7-0 to mamy parzyste zera i na wyjsciach: 01-0 23-0 45-0 67-0 bo na wejsciach sa te same stany czyli na wyjsciu calego XOR-a 0 a ma byc jeden bo parzyste :)) czyli uklad musi byc bardziej rozbudowany. Pozdr Janusz

<ciach>

Niekoniecznie - to jest przecie¿ kwestia czysto umowna czy parzysto¶æ sygnalizujemy zerem czy jedynk± - zale¿y tylko jak z tego dalej korzystamy.... Je¶li chcesz mieæ super - proponowa³em wy¿ej scalaczka 74F280.

Roman

Zatem z kolosa szykuje sie piateczka. A co to za szkola?

Trix.

Politechnika Częstochowska.

O jeden negator na wyjsciu .

J.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required