Szerkezetek bitmezőkbe - studopediya
C nyelv lehetővé teszi a használatát a szerkezetek egy speciális területen - kicsit. Alkalmazásuk lehetővé teszi, hogy elérhetjük az egyes biteket nagyobb tárgyak (bájt, szó). Bites mező (bit vagy mező) nyilvánítható csak formázott szerkezet komponensek:
Az a típus neve. szélessége; ahol
típusú - specifikáló egész típusú (int - előjel nélküli -bezznakovy jel.);
neve - a név a területen, ami elhagyható;
szélessége - a mező méretét bit.
Bit mezők a szerkezet által leírt alacsony ahhoz, hogy a magas. A jel mező típusa int MSB tárolására használatos a jel. Például, egy ilyen mező szélessége 1 bites tartalmazhatja csak a értékek 0 és 1, mivel minden nem nulla értéket értelmezi a -1.
Példa. Tekintsd meg a feldolgozás bitmezőkbe my_struct a program szerkezetét leíró gépi szó két bájt.
int i. 2; / * Jelentős bit szavak * /
előjel nélküli j. 2; / * Jelöletlen mező * /
int. 2; / * Névtelen mező * /
int k. 2; / * Field aláírt * /
int bábu. 8. / * MSB szavak * /
> My_struct; / * Szerkezet változó * /
clrscr (); / * Tiszta képernyő * /
my_struct.dummy = 0; / * Töltsük a szerkezet a mezőket * /
printf ( "strukturális változó érték (16 chnoe) =% x \ n",
my_struct);
printf ( "Az egyes mezők. i =. j =. k =. \ n",
my_struct.i, my_struct.j, my_struct.k);
Jelentése szerkezeti változó (16 chnoe) = ed
Egyedi mezők. i = 1 j = 3 k = -1
Az első szám eredményeként kapott nyomtatás Az értéket 16-ed rendű jelölést elkülönített szerkezeti változó my_struct. Ha elképzeljük ezt a számot a bináris rendszer, és szabjon ki bites mezőt, megkapjuk a helyét bitmezőkbe látható az alábbi ábrán. Ahhoz, hogy az üres mezőt csatlakozás.
Az áramkör szerkezete változó my_struct: