Free Pascalban a következő kifejezés értéke miért nem igaz? Rosszul számol a Free Pascal?
Ki lehet próbálni, 0-nak kellene lennie!
((8/27)*(8/27)) - ((4/9)*(4/9)*(4/9))=0;
Levezetve:
64/729 - 64/729 = 0
Lehet azért mert ingyenes?
Akkor használj két bitet a tört típus jelzésére, minek ide hármas számrendszer?
Azon kívül el a legkisebb gondod. Hogyan döntöd el egy tetszőleges számról, hogy milyen tört?
"1-biten hogyan tárolsz kettes számrendszerben végtelen szakaszos tizedes törtet, végtelen nem szakaszos tizedes törtet és véges törtet?"
És mit is csinálnál egy végtelen tizedes törttel? Valahol véget kell jelölni neki, mert a tárolási kapacitás véges. Ha meg vége van egy végtelen tizedes törtnek, akkor az elkivánt eredményt sem kapod meg, max. közelítést. Ezt hívják pontosságnak.
A közelített értéket esetleg kerekíted (floor, ceil). Aztán ennyi volt.
Ezért kaptál a php-tól "helyes" eredményt.
1. Ha két bitet használsz, akkor 4 érték lesz. Nekünk 3 elég. Felesleges az egyik érték. Piszok nagy memóriapazarlás nagy mennyiségű számok tárolása esetén.
2.
A eset: Ha egy összetett természetes szám prímtényezőiben 2-es és 5-ös szerepel, akkor az csak véges tizedes tört lehet, ha elosztok vele egy számot. Alapértelmezésben az 1-es számmal való osztás véges tizedes tört. B eset: Ha az összetett szám prímtényezőiben egyéb más prím szerepel és elosztok egy számot vele, akkor az végtelen szakaszos tizedes tört lesz.
C eset: Kizárásos alapon minden más tört végtelen nem szakaszos tizedes tört.
Tessék az A és B esetet kipróbálni!!!!!
Fordítva: Adott a maximum felhasználható biten egy tizedes tört. Nem tudjuk milyen. Mivel ez így véges felírhatjuk két egész szám hányadosaként.
Amennyiben megjelöljük egy biten, hogy az 0: véges, 1: végtelen szakaszos, 2: végtelen nem szakaszos tizedes tört,
akkor fel lehet írni a programnyelvben az első két esetben két egész szám hányadosaként. Például 0.333333333333333... (a maximális biten) az lehet
333333333333333/1000000000000000 vagy 1/3. Melyiket fogja kiírni a gép?
amelyiket megjelöltük a biten, ha az 0, akkor véges és az elsőt fogja kiírni, ha az 1, akkor a másodikat.
Egyetlen egy dolgot kell kikutatni:
Hogyan lehet végtelen nem szakaszos tizedes törtből megállapítani maximum használható biten például, hogy az köbgyök(3)? Lenne rá ötletem, de az túl komplikált. Azt mondjuk, hogy csak a gyököket kezeljük a harmadik biten. Leírjuk a maximum felhasználható biten a köbgyök 3 számjegyeit és azt mondjuk, hogy az a köbgyök három. Negyedik gyök 3, ötödik gyök 3 stb....
Amennyiben az m. gyök x a maximum felhasználható biten leírt számjegyei megegyeznek az n. gyök y maximum felhasználható biten leírt számjegyeivel, akkor írja ki az összes megoldást. Csak az a baj, hogy ebből is végtelen sok van. Ennek is lehet határt szabni, ha már határ van szabva a számjegyek számának. :)
Szóval 1 felesleges bit miatt teljes számrendszert váltanál? Ez akkora változás, hogy minden egyes hardvert teljesen újra kéne gondolni, mert nem kétállapotú tranzisztorok, stb. kellenek, hanem 3.
Az megvan, hogy a prímtényezős felbontás kiszámolása nem polinomiális? Potenciálisan millió évekig tartana eldönteni egy számról, és így a törtről is, hogy milyen.
Hát nem tudom. Amennyiben a pontos számítás a cél amúgy vannak olyan könyvtárak, amelyek sokkal nagyobb pontossággal számolnak, cserébe sokkal lassabbak is.
Az a gond veled, hogy szörnyen kevés az ismereted ebben a témában. Te el nem tudod képzelni, hogy néz ki belülről egy processzor, egy számolómű. Így azt sem tudod, hogy az bizony a lehető legegyszerűbb. Emiatt annyi, amennyi. Ebből következően, azt sem tudod, hogy amit te akarnál, az milyen elképesztően sokba kerülne és mennyire fölösleges lenne a gyakorlatban.
Elmondom két-három mondatban a gondot:
Te azt szeretnéd, hogy minden egyes embernek, akinek gépe is van, tudjon a masinája egyetlen műveletben gyököt vonni.
Csak az a gond, hogy ez nagyon megdrágítaná a gépeket, mert valójában ilyen dologra, hogy villámgyors gyökvonás, csak minden ötvenmilliomodik embernek lenne igénye. Tehát a kevés, a néhány ember igénye okán szivatnál meg, kényszerítenél többlet kiadásra százmilliókat.
Nem okos dolog.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!