Skocz do zawartości

podział liczby binarnej


idemaso

Pomocna odpowiedź

mam mały problem potrzebuje podzielić liczbę binarną na dwie osobne wartości:

przykład 1100110011 na 11001 10011 , istnieje jakiś rejestry z komendą który odseparuje mi ciąg bina na dwie części.( nie chodzi mi sposób matematyczny )

help me 😉

Link do komentarza
Share on other sites

Nie bardzo rozumiem jak chcesz to zrobić niematematycznie, ale osobiście zrobiłbym to mniej-więcej tak, że najpierw zmienną XY (do podzielenia) zapisałbym do krótszej Y, zastosowałbym przesunięcie bitowe (o tyle ile bitów chcemy 'obciąć') i zapisał do X.

Link do komentarza
Share on other sites

Do tego służy logiczne AND. W C jest to operator & w basicu pewnie AND.

Wykonujesz x & maska i w wyniku dostajesz "wycięty" fragment liczby x.

Czyli:

1100110011 & 0000011111 = 0000010011

1100110011 & 1111100000 = 1100100000

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

nie chodzi mi sposób matematyczny

Chyba logiczny 😉 Do tego co napisał Elvis dokonujesz ewentualnego przesunięcia o 5 bitów bardziej znaczącej części i masz odseparowane tak jak chciałeś. Jeśli piszesz w asemblerze nie powinieneś mieć żadnych problemów z obsłużeniem tych działań.

Link do komentarza
Share on other sites

w C użyłbym raczej do tego unii

zapisałbym wyraz jako zmienna 16 bitowa,
a odczytałbym jako dwie ośmiobitowe.

Jest to bardzo wygodne rozwiązanie i działa w obydwie strony.

Stosuję je np. przy zczytywaniu temperatury z czujnika DS18B20 (12-bitowego)

gdzie wartość całkowita jest na 8 starszych bitach, a 4 młodsze to część ułamkowa.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.