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

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • 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.