Kezdőoldal » Számítástechnika » Programozás » Jobbra és balra bit eltolásnak...

Jobbra és balra bit eltolásnak mi a lényege? <<, >>

Figyelt kérdés

az okés h eltolja a nullákat meg az 1 eseket jobbra meg balra. De mit kell még róla tudni ezen kívül? :D


C++ ba mikor kell ezeket használni? Eddig (C# ba programoztam)


2014. máj. 14. 12:02
 1/10 anonim ***** válasza:
Például 2-vel való szorzásra, illetve osztásra használható szerintem (egész számoknál).
2014. máj. 14. 12:41
Hasznos számodra ez a válasz?
 2/10 anonim ***** válasza:
(persze, lehet, hogy csak speciális esetekben...)
2014. máj. 14. 12:42
Hasznos számodra ez a válasz?
 3/10 iostream ***** válasza:

Mikor kell? Soha nem _kell_.

Mikor érdemes? Ha bitműveleteket akarsz végezni és ha az iostream konvencióját akarod használni a streamkezelésre.


Bitműveletek:

1 << 10 a 11. biten 1, mindenhol máshol 0 számot fogja jelölni. Ez hasznos, ha flageket akarsz használni, tehát mondjuk egy 32 bites típusban 32 igazságértéket eltárolni. Ekkor úgy kérdezed le a 15. bit értékét, hogy flags & (1 << 14) és úgy állítod be, hogy flags |= (1 << 14).


iostream:

A könyvtár alkotói a << és >> operátorokat használják a kiírás és a beolvasás műveletének a jelzésére.


Érdemes tudni, hogy a << és >> precedenciája nem túl magas, tehát a meglepetések elkerülése végett érdemes zárójelezni a kifejezéseket, ha felmerül a gyanúja, hogy nem úgy lesz kiértékelve, ahogy te gondolod.

2014. máj. 14. 13:01
Hasznos számodra ez a válasz?
 4/10 iostream ***** válasza:
Jah, elfelejtettem, hogy szorzásra, osztásra nem érdemes használni. A fordító nem hülye, ha látja, hogy kettőhatvánnyal végeznél ilyen műveletet, tudni fogja, hogy lehet azt a leggyorsabban elvégezni az adott architektúrán.
2014. máj. 14. 13:01
Hasznos számodra ez a válasz?
 5/10 A kérdező kommentje:

"Mikor kell? Soha nem _kell"


Tehát hanyagoljam a használatát? :)

még csak most kezdtem el olvasni a C++ könyvet, ott ezzel kezdődik az összes példaprogram. std.cout << "írás" << std.endl;

C# ba Console.Write("írás");

ennyivel kezelhetőbb nyelv lenne a C#?

2014. máj. 15. 07:06
 6/10 A kérdező kommentje:
std::endl;
2014. máj. 15. 07:16
 7/10 iostream ***** válasza:

"std::cout << "írás" << std::endl;

C# ba Console.Write("írás");


ennyivel kezelhetőbb nyelv lenne a C#?"


Na most, az endl nem igazán szükséges vagy jó, csupán újsort ír ki és flusholja a buffert. Egyszerűbb ezt írni: std::cout << "iras\n";


A Console.Write viszont nem ír ki újsort, tehát a két kódsor nem ekvivalens. Amire gondolsz az a WriteLine lenne.


Mit értesz kezelhetőbb alatt?

2014. máj. 15. 11:22
Hasznos számodra ez a válasz?
 8/10 A kérdező kommentje:

hát jó ezt most úgy mondtam h C++ nem ismerem :)

egyszerűbb, átláthatóbb számomra, érthetőbbek a kódjai.

2014. máj. 15. 13:42
 9/10 SimkoL ***** válasza:
Nem lehet a C#-ot és a C++ istenigazából összehasonlítani. Ez egyik erre a másik arra jobb. Ha felveszed a névtérbe a C++-nál az std-t akkor kicsit rövidebben lehet programokat írni, nem beszélve arról, hogy nem igényel akármilyen Framework-köket :). Régen nem volt annyi memória,nem voltak ilyen op. rendszerek törekedtünk a rövid, tömör, natív programokra.
2014. máj. 15. 15:08
Hasznos számodra ez a válasz?
 10/10 anonim ***** válasza:
Itt nem biteltolást jelent...
2014. máj. 18. 00:58
Hasznos számodra ez a válasz?

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!