Kezdőoldal » Tudományok » Alkalmazott tudományok » Miért nem használja az alkalma...

Miért nem használja az alkalmazások, programnyelvek többsége az "extended",64-bit pontosságú lebpontos típust?

Figyelt kérdés

A (co-)processzorok alapból így számolnak - vagy 20 éve,- minek butítani?

Kompatibilis a 64 bites egésszel. A pontosság mindig jól jön, (szinte)ingyen van, és hamar elfogy. Gyakran tapasztalom, pl. Excel-ben.

Single, double? Ki érti ezt, én nem.



2013. okt. 6. 12:02
 1/4 2xSü ***** válasza:

Egyrészt egy 64 bites szám kezeléséhez 64 bites rendszer kell. Pont ezért nem futnak a 64 bites programok egy 32 bites oprendszerben. Hiába van meg a processzorban a képesség, a memóriacímzés pl. 32 bites módban megy. Egy 32 bites rendszerben a 64 bites lebegőpontos számok kezelése nem egy utasításban történik, így befolyásolhatja a futási időt.


Másrészt egy változó nagysága befolyásolja a memóriafogyasztást is. Nagyon nem mindegy, hogy egy adathalmaz mekkora memóriaterületen fér el, vagy mondjuk egy adatbázisban mekkora helyet foglal a merevlemezen.


A kettő együtt okoz olyan jelenségeket, amelyek miatt csak szépen lassan, fokozatosan történik az átállás. A pascal „real” típusát még a FPU-k előtti időkből örökölte, nem is kompatibilis azzal, de bele kellett venni az újabb és újabb pascal nyelvekbe is kompatibilitási okokból. Ennek okán néhányan sokáig használták is tovább, néha csak megszokásból. Ezért a még újabb pascalokba is bele kellett venni, stb…


Olyan ez mint a Scroll Lock esete. Már régen nem használjuk a régi formájában, régóta felesleges gomb a billentyűzeten. De mivel felesleges, ezért születnek olyan programok, amik kihasználják ezt a felesleges gombot, és hasznossá teszik. Pont ezért kell még ma is odahegeszteni a billentyűzetre, holott alapvetően ma már alig van jelentősége.


Szóval hiába van az, hogy az asztali gépek 99,9%-a 64 bites, még mindig vannak beágyazott rendszerek, amelyek nem 64 bitesek. Ezért pl. a Windowsból is újra és újra megjelenik egy 32 bites változat. De mivel a 32 bites változat alapból kevesebb memóriát eszik, még mindig jó választás lehet, ha mondjuk 2 GB RAM-ra akarsz feltolni egy Windowst.


A technológia már csak ilyen, szépen lassan történik az átállás. Egy ideig még lesznek 32 bites oprendszerek, amelyek ugyanúgy választhatók opcióként, és ezért ha a legteljesebb kompatibilitásra tervezel szoftvert, 32 bitre fogsz optimalizálni, esetleg csinálsz egy 64 bites változatot is. De alig van olyan progi, aminek csak 64 bites változata lenne. A merevlemez, RAM méretek is korlátozottak, ami miatt még mindig fontos, hogy lehetőleg figyeljünk ezek felhasználására. Nem mindegy, hogy egy játék, vagy egy vállalati szoftver elindul-e 2GB RAM-mal rendelkező gépen, vagy sem.

2013. okt. 6. 13:07
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:

A kérdésem nem függ össze a 64 bites gépekkel, vagy 64 bites oprendszerrel, hiszen már 1990 körül volt 287-es, ill. 387-es koprocesszor, ami a 486-ostól be van integrálva a CPU-ba. Tehát kb. 20 éve minden szgép alapból kezeli...

A memória: double - 8 bájt, extended - 10 bájt -nem igazán érv, pláne ha figyelembe veszem, hogy milyen káros lehet a pontatlanság, pl. két kb = szám kivonásakor - nagyon is jól jönne az a plusz 3-4 számjegy.

És ugye minden 64 bites egészt tud kezelni veszteség nélkül, ami a double(53) esetében nem így van.

2013. okt. 6. 14:04
 3/4 anonim ***** válasza:

Te nyilván analízishez, vagy más bonyolultabb számításokhoz használod az eszköztárat.

De az alkalmazók döntő többsége (középszinten) rendkívül egyszerű műveleteket végez, ahol még a single képességeit sem használja ki. Csak sokszor. Nekik teljesen fölösleges az extended. Éppen a nagyon elterjedt rendszereknél van ez így, mint pl az excel, vagy néhány egyszerűbb adatbáziskezelő. Ráadásul elképesztően pazarolnak, mert nem értenek (nem is akarnak érteni) hozzá. Ott előny a rövid szóhossz.

2013. okt. 6. 14:47
Hasznos számodra ez a válasz?
 4/4 2xSü ***** válasza:

> A kérdésem nem függ össze a 64 bites gépekkel


Nem? A single 32 bites, a double 64 bites, az extended meg 80 bites. Ha az oprendszer 32 bites, akkor a memóriába olvasás single esetén egyetlen utasítás, míg double esetén 2 olvasás, plusz esetleg ugye a memóriaregiszter átírása, extendednél meg három. Még 64 bites rendszerben sem mindegy, hogy double, vagy extended. (Még egyszer, egy 32 bites oprendszerben a programok is 32 bitesek, így csak 32 bites regisztereket tudnak használni, akár műveletvégzésre, akár memória olvasáshoz, stb…)


Egy 32 bites rendszerben a segédprocesszor is 32 bites. Igen, vannak még 10 évnél öregebb gépek, speciális gépek, amikben még mindig csak 32 bites procik találhatóak. Mint írtam más érvek miatt is lehet előnyös választás egy 64 bites procira 32 bites oprendszert tenni. Amíg lesz 32 bites oprendszer, addig a szoftverek többségét 32 bitre fogják optimailizálni, így a single-nek továbbra is van nagyon erős létjogosultsága, ami miatt a használata jóval gyorsabb, mint egy double-é. A double a precizitás miatt kell, viszont sebességcsökkenést tud okozni a használata egy 32 bites programban.


Ez pont olyan, mint az egészek esetén. Ha te egy programban 64 bites egészen ábrázolod a hónapot, akkor ezt megteheted. Csak lassabb, memóriazabálóbb lesz tőle a program, és többet foglal a merevlemezen, ha tárolni is akarod az adatokat.

2013. okt. 6. 17:03
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!