C++ shift-es szorzás?
Figyelt kérdés
Mi a különbség az
a *= 2;
és
a <<= 1;
között?
Gondolok sebességre (a léptetés gyorsabb?), biztonságra stb. Van amikor érdemes az egyiket, ill. a másikat használni? Vagy abszolút semmi különbség nincs?
2013. jan. 8. 20:45
1/4 _Jessy_ válasza:
A léptetés gyorsabb. Biztonsági szempontból szvsz semmi különbség.
2/4 iostream válasza:
Bízhatsz a fordítóban, hogy ha konstansokkal szorozgatsz, akkor tudni fogja, melyik a gyorsabb. Úgyhogy ha SZORZÁST akarsz kifejezni, akkor inkább írj csillagot. A shiftet csak akkor használd, ha kifejezetten egy szám bitmintájával akarsz foglalkozni, pl hashek számolása, bitmaszkolások.
3/4 anonim válasza:
io válaszát értsd: ha a kódba odaírod a 2-est, akkor eleve eldönti, hogy melyik a jobb, ha változóval teszed ugyanezt, amit futási időben kapsz, az már más helyzet (de tekintve, hogy a bitshift nem megy 3-as szorzásra stb. így nem gond)
4/4 anonim válasza:
Különbség annyiban van, hoghy az előbbit szorzásnak látod te is, nem kell órákig böngészned a kódot, hogy meglásd, mi micsoda.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!