Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Yhden bitin asettaminen Javalla

Samankaltaiset esitykset


Esitys aiheesta: "Yhden bitin asettaminen Javalla"— Esityksen transkriptio:

1 Yhden bitin asettaminen Javalla

2 Bitin asettaminen arvoon x
Olkoon meillä int rekisteri = 111; // can also be byte or short, as we use only the 8 lowest bits. int maski[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; /* nyt taulukon indeksiä vastaavalla maskilla saadaan maskattua indeksiä vastaava bitti tavusta (oikealta lukien) eli esim. maski[2] = 0x04 (on binäärinä ) */ int bit = x; // 0 or 1, so in binary x

3 Bitin asettaminen arvoon x
int maski[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

4 Bitin asettaminen arvoon x
Operaatio jolla bitti 1 voidaan asettaa arvoon 0 (koska sitä ei voi tehdä suoraan OR operaatiolla) : rekisteri = (rekisteri & ~maski[2]) | (bit << 2); Eli alkuperäinen arvosta ja maskin negaatiosta otetaan AND operaatio Tällä alkuperäinen arvo asetetaan nollaksi Saadusta tuloksesta sekä asetettavasta bitistä otetaan OR operaatio Bitti siirretään ensin maskin osoittamaan paikkaan (bit << 2) Ja siis, maski[2] = 0x04 = (positio 2 oikealta päin)

5 Bitin asettaminen arvoon x
Eli maskin negaatio: ~maski[2] = And operaatio: // rekisteri // & ~maski[2] AND //

6 Bitin asettaminen arvoon x
Bitin siirto maskin osoittamaan paikkaan (bit << 2) eli x ----> 00000x00 Joten // (rekisteri & ~maski[2]) // | (bit << 2) OR x00 // x11 A B | 1

7 Javan OR operaatiot Aikaisemmin meillä on ollut aina 0 toisena tekijänä, jolloin ei ole väliä kumpaa käyttää OR XOR A B | 1 A B ^ 1


Lataa ppt "Yhden bitin asettaminen Javalla"

Samankaltaiset esitykset


Iklan oleh Google