Lataa esitys
Esittely latautuu. Ole hyvä ja odota
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
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.