Kezdőoldal » Számítástechnika » Programozás » C# int vagy float? (kifejtés...

C# int vagy float? (kifejtés alul)

Figyelt kérdés

Hali! Először is jelezném, hogy kb pár napja kezdtem el programozással foglalkozni, egyetemen tanulok, még nem igazán álltak össze a dolgok, ezért bocsi, ha hülyeséget írok.

Szóval C#-ban tanulunk programozni és arról volt szó, hogy egy egész típusú változó (legyen x) esetén meg kell adni, hogy mondjuk int, short, sbyte stb (deklaráció vagy mi).

Ha mondjuk megadom, hogy byte x = akármi, akkor x a [0,255] intervallumban mozoghat, de ha mondjuk azt adom, hogy int x = akármi, akkor már -2milliárd +2milliárd környékén mozoghat ugye. De nem ugyanakkora helyet használnak fel, hanem az első 1 byte, a másik már 4 byte. És ha tudjuk, hogy x az nem lesz túl nagy, érdemes az elsőt használni. (Ha jól értem, bár ki tudja).

És akkor jön már a kérdés :D

A ulong 8 byte-ot használ és kb 0 és 1,8x10^19-ig van a terjedelem, míg lebegőpontos (?) szám esetén a float 4 byte-ot használ, de 3,4x10^38-ig terjed. Na most...ha én egy rohadt nagy egészet akarok tárolni, akkor a ulong-ot használjam, mert az van az egészre vagy a floatot? Mert ugye az egyik 8byte a másik meg csak 4. Na, csak értitek, hogy mit nem értek :D Lehet, hogy semmit mondjuk :'D


2020. szept. 24. 15:44
1 2
 11/12 anonim ***** válasza:
egészekre használd az int-et, törtekre meg a float-ot.
2020. szept. 24. 20:33
Hasznos számodra ez a válasz?
 12/12 anonim ***** válasza:

Elméletben jól hangzik, hogy az adattípusok megfelelő használatával kikényszeríthetünk bizonyos feltételeket (például egy szám ne lehessen negatív), illetve optimálisabbá tehetjük a memóriahasználatot, de a gyakorlatban a .NET/Java/stb. fejlesztők nagyon kis része foglalkozik ezzel. Egyrészt, ha valahová .NET-et használsz, azt azért teszed, mert nem szeretnél low-level dokgokkal foglalkozni nem érdekel téged a pointer-aritmetika (olyan nagyon); hanem szeretnéd hamar lefejleszteni az adott üzleti igényt. Ezért a kényelemért pedig hozunk egy áldozatot, hogy nem a mi megoldásunk lesz a leggyorsabb és legoptimálisabb. És ezzel nincs is semmi baj, ha a megoldásunk ki tudja szolgálni azt az igényt és bírja azt a terhelést, ami a megrendelőnek kell, azon a költségen, amit a megrendelő hajlandó érte fizetni.


Az az igazság, hogy amilyen alkalmazásokat C#-ban írsz, ott már régen nem az a döntő tényező, hogyha int helyett byte adattípust használok, akkor spórolhatok a memórián. Az osztályaidnak ettől jóval nagyobb memóriaigénye lesz. Az a memóriaigény, amit az adattípusok megfelelő használásával megspórolnál, elenyésző az általad deklarált típusok memóriaigényéhez képest az esetek nagy részében.

2020. szept. 24. 23:11
Hasznos számodra ez a válasz?
1 2

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!