Leksykon IT › Programowanie › Pole bitowe (bit field)

Pole bitowe (bit field)

Programowanie Svenska → Zaktualizowano: 2026-11-03

Sposób C na nazwanie pojedynczych bitów liczby całkowitej wewnątrz struktury — przyjemny w czytaniu, ale niemal całkowicie nieokreślony co do tego, jak trafia do pamięci.

Zapis unsigned ready : 1; sprawia, że składowa struktury ma szerokość jednego bitu, więc reg.ready = 1 wygląda jak zwykłe przypisanie. Kusi to przy opisie rejestru sprzętowego. Haczyk w tym, że standard zostawia kompilatorowi kolejność bitów, wypełnienie i jednostkę przechowywania, więc ta sama struktura może wyglądać inaczej w różnych kompilatorach albo na architekturach o odmiennej kolejności bajtów.

Każdy zapis to ponadto odczyt–modyfikacja–zapis, który może zatrzeć bity statusu kasowane przy odczycie. Dlatego CMSIS i większość nagłówków producentów używa masek i przesunięć, a MISRA C mocno ogranicza pola bitowe.

← Wróć do leksykonu