#programowanie #mikrokontrolery Mireczki, jak w C zadeklarować zmienną która ma zajmować X bitów, gdzie X%2 != 0 Chyba da się zrobić malloc pamięci i odwoływać do kolejnych bitów, ale była też jeszcze jakaś inna metoda
@Dymoslaw: No nie za bardzo. Będzie zajęta komórka pamięci mająca 8 bitów. A to, że kompilator pokaże Wam że możesz odwołać się tylko do 3 bitów to nic nie znaczy (zresztą, sprawdź sobie sizeof tej struktury jak masz JTAG) Pamiętajcie że pola bitowe ZAWSZE dopełniają do naturalnego słowa procesora. Pola bitowe są świetne na flagi, bo upchasz np. 8 flag w bajcie. Ale to nie
@janek_kos: Tak, masz w 100% rację. Podany przykład ukazywał tylko sposób, bo o to pytał @NiedzielnyMirek. W przypadku jednego pola nic nie zyskujesz, ale gdybyś miał już takich pól w strukturze kilka, kilkanaście, kilkadziesiąt to one zostaną już ułożone w pamięci i potencjalnie zaoszczędzisz kilka bajtów pamięci. Jednak ta oszczędność odbędzie się kosztem pamięci programu, gdyż dostęp do tych pól wymaga troszkę więcej instrukcji. Dla dociekliwych polecam napisać jakiś przykłady
Sikorski odwala taką robotę na arenie międzynarodowej, Tusk odblokował 600mld. Takich polityków nam trzeba. Poważnych i szanowanych. W komentarzu zdjęcie dla kontrastu.
Mireczki, jak w C zadeklarować zmienną która ma zajmować X bitów, gdzie X%2 != 0
Chyba da się zrobić malloc pamięci i odwoływać do kolejnych bitów, ale była też jeszcze jakaś inna metoda
struct
{
unsigned int age : 3;
} Age;
zmienna na 3 bity
Komentarz usunięty przez autora
założę się że i tak całej pamięci nie wykorzystasz
@Dymoslaw: No nie za bardzo. Będzie zajęta komórka pamięci mająca 8 bitów. A to, że kompilator pokaże Wam że możesz odwołać się tylko do 3 bitów to nic nie znaczy (zresztą, sprawdź sobie sizeof tej struktury jak masz JTAG) Pamiętajcie że pola bitowe ZAWSZE dopełniają do naturalnego słowa procesora. Pola bitowe są świetne na flagi, bo upchasz np. 8 flag w bajcie. Ale to nie