Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Przesunięcie cykliczne z uwzględnieniem bitu C

Sylwqaaa 07 Cze 2012 18:47 1385 3
  • #1 07 Cze 2012 18:47
    Sylwqaaa
    Poziom 7  

    Witam. Mam pewien problem. Mam wykonać (na papierze - prowizorycznie) przesunięcia cyklicznego w prawo i w lewo (jak dotąd rozumiem, umiem) z uwzględnieniem bitu C. No i tu zaczynają się schody. Wymęczyłam wujka google i nic nigdzie nie znalazłam.. :( Zadanie to mam wykonać na kartce, dla 8 bitowego kodu binarnego. I przesuwać kolejno o 1, 2, 4, 5 bitów. Banał, ale nie rozumiem jak użyć do tego bitu C. Pomoże ktoś... ? :(

    0 3
  • #2 07 Cze 2012 19:24
    McMonster
    Poziom 32  

    Chodzi o skonstruowanie układu na bramkach logicznych, napisanie programu, czy jeszcze coś innego?

    C to w tym znaczeniu bit przeniesienia (carry). Nie ma ustalonego sposobu postępowania z tym bitem, w zależności od architektury może być ustawiana jedynie flaga Carry w rejestrze flag (jeżeli bit, który "wypadł" z rejestru był 1), ten bit może pojawiać się na skrajnej pozycji po przeciwnej stronie przesuwanego ciągu lub po prostu być tracony.

    0
  • #3 07 Cze 2012 20:07
    Sylwqaaa
    Poziom 7  

    McMonster - są to podstawy totalne, i wszelkie przesunięcia cykliczne, arytmetyczne, logiczne, piszemy w zeszycie w kratkę.. ;) np mam 11001011 i muszę ten kod przesunąć cyklicznie w prawo/lewo o 1 bit, potem 2,4,5 bitów właśnie z uwzględnieniem bitu C.

    0
  • #4 08 Cze 2012 01:30
    McMonster
    Poziom 32  

    No to musisz mieć dane jakieś zasady postępowania. Bit przeniesienia to ten bit, który "wypada" jak wspomniałem. Opcje też wymieniłem, przepada, ustawiana bliżej nieokreślona zewnętrzna flaga C lub pojawia się z drugiej strony po przesunięciu. Jest jeszcze kwestia tego, co się dzieje po drugiej stronie przesunięcia, zwykle jest dopełnianie zerami, jedynkami, przenoszenie cykliczne wypadających z przeciwnej strony.

    0