Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Indeksiranje polja bitova

[es] :: C/C++ programiranje :: C/C++ za početnike :: Indeksiranje polja bitova

[ Pregleda: 2017 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

damir0205

Član broj: 22726
Poruke: 107
*.adsl.net.t-com.hr.



Profil

icon Indeksiranje polja bitova27.01.2009. u 12:24 - pre 185 meseci
dali je moguče u petlji indeksirati polje bitova npr.:

struct {
unsigned int a;
unsigned int b;
unsigned int c;
unsigned int d;
unsigned int e;
unsigned int f;
unsigned int g;
unsigned int h;

} bitfield;

ili je jedini nacin pridruzivanje vrijednosti clan po clan: var=bitfield.a; itd...
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.tekostolac.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Indeksiranje polja bitova27.01.2009. u 12:54 - pre 185 meseci
struct {
unsigned int abcdefgh[8];
} bitfield;
 
Odgovor na temu

Mali Misha
Mihajlo Anđelković
NBGD

Član broj: 79396
Poruke: 379
78.90.101.*

ICQ: 195487525
Sajt: cpptea.com


+1 Profil

icon Re: Indeksiranje polja bitova27.01.2009. u 12:56 - pre 185 meseci
Imaš više načina. Možeš sve iz te strukture da upakuješ u niz:
Code:
struct {
  unsigned int fields[8];
}bitfield;

Možeš i da zadržiš tvoju početnu strukturu, pa da napraviš niz pokazivača na te promenljive i koristiš ga u petlji.

Ali čini mi se da ti nešto drugo hoćeš. Pominješ polje bitova i imaš tačno osam promenljivih, da tebi ne treba možda samo osam bitova kojima bi pristupao u petlji? Za to je dovoljan jedan char.

Code:
#include <stdio.h>

int main(void)
{
    int i;
    char x = 255;
    
    for(i=0; i<8; i++)
    {
        printf("Bit %d: %d\n",
            i+1,            // indeks bita
            !!(x & (1<<i))    // sadrzaj i-og bita (0 ili 1)
        );
    }

    return 0;
}

Ipak se ++uje.
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Indeksiranje polja bitova

[ Pregleda: 2017 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.