törmäsinpähän tälläiseenkin, eli olisi tarkoituis tehdä int muuttuja, jonka alue olisi 1 - 128
Jos muuttuja on 128 ja lisään siihen ykkösen, niin siitä tulisi 1
Jos miinustaisin ykkösestä yhden, niin siitä tulisi 128.
eli se kiepsahtaisi ympäri, olen lukenut tästä jossain, mutta kun ei nyt satu tulemaan mieleen ..
Jos muuttuja on 128 ja lisään siihen ykkösen, niin siitä tulisi 1
Jos miinustaisin ykkösestä yhden, niin siitä tulisi 128.
eli se kiepsahtaisi ympäri, olen lukenut tästä jossain, mutta kun ei nyt satu tulemaan mieleen ..
Vastaukset 5
Vanhimmat
if (muuttuja > 128)
muuttuja = 1;
else if (muuttuja < 1)
muuttuja = 128;
as simple as that
0-127 on helppo
muokkauksen jälkeen tulos maskataan & 0x7F ja lisätään 1
toinen vaihtohto on bittikenttä operaatorit :
struct mystruct
{
int i : 40;
int j : 8;
};
tai sitten voit tehdä tuosta luokan ja ylikuormittaa /- operaatorit...
'muokkauksen jälkeen tulos maskataan & 0x7F ja lisätään 1 '
Tuo operaatio vaan ei muuta nollaa mitenkään 128:si.
Luit vähän kuin turhan kirjaimellisesti mutta tätä tarkoitin.
value -= 1; // arvo välille 0-0x7F
value = v; // arvon muokkaus v = (1 tai -1 tai mielivaltainen)
value &= 0x7F // maskaus välille 0-0x7F
value = 1; // arvo välille 1-0x80
offsettiä joudutaan käytämään ennen operaatiota ja sen jälkeen.
jossa ylikuormitat matemaattiset operaattorit. Ja muista konstruktorit. Ei oo vaikeeta...