Weboldalunk cookie-kat használhat, hogy megjegyezze a belépési adatokat, egyedi beállításokat, továbbá statisztikai célokra és hogy a személyes érdeklődéshez igazítsa hirdetéseit. További információ
Kezdőoldal » Számítástechnika » Programozás » A programozási nyelvekben...

A programozási nyelvekben lévő valós szám típus valójában nem csak racionális szám?

Figyelt kérdés
Vagy a végtelen, mínusz végtelen és NaN miatt tényleg valós?

2019. febr. 19. 15:54
1 2
 1/13 anonim ***** válasza:
44%

Már a kérdésed a válasz egyben.


Valós szám valójában nem racionális szám? Logikailag mondva, nem.


Programozásban lebegőpontos számok vannak. Még nem hallottam a valós szám kifejezést erre.


Szerintem nem vagy tisztában, hogy mi a különbség a valós és a racionális számok között. Valós szám = racionális + irracionális számok halmaza.

2019. febr. 19. 16:04
Hasznos számodra ez a válasz?
 2/13 anonim ***** válasza:
67%
Informatikában nincs valós szám. Képzeld el a pi végtelen sok számjegyét és tárold el a RAMban. Naugye :)
2019. febr. 19. 16:10
Hasznos számodra ez a válasz?
 3/13 anonim ***** válasza:
44%
Lehet az keverte meg a kérdezőt, hogy egyes gagyi nyelvekben mint pl a Pascal van "real" nevű típus. Ami igazából lebegőpontos értéket tárol.
2019. febr. 19. 18:54
Hasznos számodra ez a válasz?
 4/13 anonim ***** válasza:
0%
Mivel csak kettő hatványainak az összegével kifejezhető számokat tud ábrázolni ezért csak racionális.
2019. febr. 19. 20:27
Hasznos számodra ez a válasz?
 5/13 anonim ***** válasza:
0%

"mint pl a Pascal van "real" nevű típus. Ami igazából lebegőpontos értéket tárol."


LoL

2019. febr. 20. 00:02
Hasznos számodra ez a válasz?
 6/13 A kérdező kommentje:
Szóval ti soha nem olvastatok olyan tananyagot, ahol valós számnak hívták a floatot vagy a doublet. Aha, igen. Csak én vagyok helikopter akkor. Oké.
2019. febr. 20. 10:48
 7/13 anonim ***** válasza:
0%

"Szóval ti soha nem olvastatok olyan tananyagot, ahol valós számnak hívták a floatot vagy a doublet."


Minden szám a valós (angolul REAL) számok halmazának eleme. Ebbe beletartozik a float, a double vagy az integer is.


A számítógépek azonban úgy vannak megkonstruálva, hogy bizonyos számokkal gyorsabban képesek műveletet végezni, mint másokkal. Ezek általában a CPU szóhosszának (4,8,12,16,32,64 bit) megfelelő integer típusúak.

Ezért van az, hogy egyes programnyelvekben léteznek különféle típusok, egyes nyelvekben (Pl. LUA) pedig ilyenek nincsenek (LUA-ban minden szám valós (number tipusú)), mert az interpreter megalkotója nem tartotta fontosnak azt a sebességbeli veszteséget, amit pl. az int float közötti különbség okoz a velük végzett műveletek során. Script nyelveknél nem a sebesség az elsődleges.

2019. febr. 20. 11:14
Hasznos számodra ez a válasz?
 8/13 anonim ***** válasza:

Mivel a gép csak véges módon felírtható számokkal tud dolgozni, a "real" (lebegőpontos) típus racionális számokat tud leírni. Ahogy egyébként papíron sem lehet őket helyiértékes alakban leírni. (Máshogy sem egyszerű.) A gyakorlatban viszont jó közelítéssel racionális számokkal lehet közelíteni bármely irracionális számot.

A végtelen vagy a "NaN" nem számok, nincs értelme számhalmazokba sorolni őket.

2019. febr. 20. 14:40
Hasznos számodra ez a válasz?
 9/13 A kérdező kommentje:

"Minden szám a valós (angolul REAL) számok halmazának eleme. Ebbe beletartozik a float, a double vagy az integer is."


Igen, persze. De azért sejthető, hogy amikor azt írtam, hogy valós, nem az egész számokra gondoltam. Persze lehet direkt így értelmezni, amit írtam, biztos jó móka.


Nyilván arra gondoltam, hogy mivel a számítógépeken tudtommal nem tudunk tárolni végtelen nem szakaszos tizedestörteket, azaz irracionális számokat (max csak közelíteni tudjuk őket néhány tizedesjegyig, ami gyakorlatilag teljesen jó), ezért nem precíz, ha egyes tananyagok valós számnak nevezik a floatot vagy doublet.

2019. febr. 21. 09:13
 10/13 A kérdező kommentje:

"A végtelen vagy a "NaN" nem számok, nincs értelme számhalmazokba sorolni őket."


Mondd ezt a diszkrét matek tanároknak ;)


Ja és ez itt micsoda? :D


#include <iostream>

#include <cmath>


int main() {

float a = NAN;

double b = INFINITY;

std::cout << a << " " << b;

}

2019. febr. 21. 09:14
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2021, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | WebMinute Kft. | Facebook | Kapcsolat: info@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!