Erään metodini lopussa on tällaista koodia:
long Q = 0;
Q = (long)(v0 | ((long)v1)
Mokasin, mutta mitä ???
3
452
Vastaukset
- javan_opettelija
Tämä ainakin toimii ok:
Q = ((long)v1 - kattoen
Q = (long)(v0 | ((long)v1)
- if-else
Tulee vähän sekava selitys ja vastaus. Lyhyesti kuitenkin moka on se, ettet ota huomioon sitä, mitä int => long muunnoksessa tapahtuu, ja sitä koska kyseinen muunnos tapahtuu, (eli se tapahtuu silloin kun toinen argumentti on long tyyppiä).
Sekava selitys:
v0:n voi tuossa viestisi lauseessa valita siten, ettei v1:llä ole vaikutusta. Esimerkiksi jos v0 on negatiivinen, ovat sen sisältämän luvun bitit 32-63 tällöin ykkösiä int => long muunnoksen jälkeen (koska -1 => -1L, -2 => -2L, jne.). Tästä seuraa se, että kyseisiä bittejä (32-63) päälle asettava OR -operaatio (eli "| ((long)v1)
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod225134- 254308
- 272451
- 342234
- 371998
- 151908
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191587- 121521
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons211237Kerranki asiat oikein
Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa101164