Pobieram dane z bajtów pliku .txt przez bajt przy użyciu delphi. Dla każdego bajtu muszę zamienić początkowy i końcowy bit tego bajtu. Szukałem google od wielu godzin, ale nie mogę znaleźć odniesienia do manipulowania bitami wewnątrz bajtów vars w delphi. Jakieś pomysły?Manipulowanie bitami bajtów vars w Delphi
Odpowiedz
b := (b and $7E) or (b shr 7) or (b shl 7);
Najpierw zachowujemy środkowe 6 bitów, a następnie zamieniamy bity MSB i LSB w operacjach zmiany rejestru.
Obsługa bitów w Delphi to dobra zabawa. Istnieje wiele opcji i jest to proste rozwiązanie. David proponuje rozwiązanie LUT, które może być szybsze (tylko odrobinę).
Było interesujące podobne pytanie o odbijaniu bitów całego bajtu, zobacz How can I bit-reflect a byte in Delphi?
.
To jest * rozwiązanie *. Pierwszym operandem jest b bez jego MSB i LSB, drugi operand jest początkowym MSB (teraz w pozycji LSB), podczas gdy trzeci operand jest początkowym LSB (teraz w pozycji MSB). Oczywiście wynikiem 'lub'ed jest' b' z zamianą MSB-LSB. –
Ponadto, jeśli chcesz przejść do tabeli sprawdzającej, możesz użyć jednego liniowca powyżej, aby wygenerować ten stół! –
Doskonała odpowiedź od LU RD! Dzięki za wyjaśnienie Andreas! – HHH
- 1. Delphi: Pętla przez bajtów w rekordzie
- 2. manipulacja bitami: usuwanie zakresu bitów
- 3. Jak pracować z bitami w bajcie
- 4. Dołącz vars w zadaniach roli
- 5. Jak zbudować pojedynczy plik binarny z 32 bitami i 64 bitami w kodzie xcode 6
- 6. Manipulowanie wyrażeniami w R
- 7. Manipulowanie NumericMatrix w Rcpp
- 8. Wywołanie funkcji delphi dll z języka C# w tablicy bajtów
- 9. Zamiana dwóch Vars Scala
- 10. Odzyskaj sektor w Mifare Classic 1k z nadpisanymi bitami uprawnień
- 11. Manipulowanie plikami MIDI w Pythonie
- 12. Biblioteka manipulacji bitami dla ANSI C
- 13. Funkcja Delphi do wyświetlania liczby bajtów jako Windows Czy
- 14. dostęp do "zakresu modułów" vars
- 15. Delphi: jak automatycznie usunąć nieużywane vars ("Zmienna" x "jest zadeklarowana, ale nigdy nie używana" podpowiedź)
- 16. Manipulowanie polem formularza PDF
- 17. JavaScript dziwne manipulowanie datami
- 18. Manipulowanie linie danych
- 19. Manipulowanie V8 ast
- 20. Manipulowanie monada stos
- 21. Manipulowanie szczegółami nagłówka WCF
- 22. C# Manipulowanie danymi JSON
- 23. "Delphi Fundamentals" w Delphi 2009
- 24. Znajdź sekwencję bajtów w tablicy bajtów.
- 25. Skutecznie manipulowanie podzbiory kluczy RDD w iskrą
- 26. Manipulowanie odstępami między wierszami w LaTeX
- 27. manipulowanie linewidth do wylęgania w matplotlib
- 28. Manipulowanie typem danych 80-bitowych w C
- 29. Jak prawidłowo zaimplementować manipulowanie DOM w Angular?
- 30. Manipulowanie trasą NavigatorIOS na komponencie
Najszybszym sposobem jest użycie tabeli odnośników –