Sari la conținut
ELFORUM - Forumul electronistilor

problema MATLAB


Son of Sound

Postări Recomandate

Daca aveti cunostiinte in MATLAB, as avea nevoie de "ceva" ajutor in rezolvarea unei probleme care suna cam asa: Ce numere reale familiare sunt aproximate prin numerele in virgula flotantapentru care cu format hex se afiseaza urmatoarele valori:40590000000000003f847ae147ae147b3fe921fb54442d18ps. nu vreau rezolvarea " mura-n gura" ci mici indicii despre cum ar trebuii abordata problemastima

Link spre comentariu
  • Răspunsuri 7
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • Son of Sound

    5

  • cirip

    2

  • EmyRulz

    1

Top autori în acest subiect

In primul rand Matlabul nu are nicio legatura cu transformarea numerelor dintr-un format in altul(adica nu e diferita in matlab fata de alte limbaje).In al doilea rand, nu vad unde e virgula si enuntul problemei e foarte ambiguu.

Link spre comentariu

Enuntul problemei este exact cum l-am scris ...- daca scriu in matlab comanda "format hex" dau enter si dupa introduc numarul 0.01 dupa care dau enter imi apare ca raspuns " ans = 3f847ae147ae147b" , deci unul dintre numerele reale este 0.01.- ar mai trebuii sa fie inca 2 numere pentru care sa-mi dea celelalte raspunsuri- faza ii ca nu stiu cum le-as putea afla ...

Link spre comentariu

Intr-adevar, formularea problemei este incompleta si provine din neintelegerea reprezentarii in virgula mobila. Reprezentarea asta este o simpla conventie si Matlabul nu are nici o legatura, decat aceea ca te ajuta sa faci conversiile, dar numai atat. Poti face conversiile si cu creionul pe hartie, daca intelegi despre ce e vorba.

 

Citeste putin la linkul asta: http://steve.hollasch.net/cgindex/coding/ieeefloat.html Dupa aia, daca tot ai nelamuriri, intreaba mai la obiect. Asa cum e pusa, intrebarea e prea generala si deruteaza, ptr ca in realitatea nu e direct legata de matlab.

 

Info suplimentare cautand pe gogu "floating point representation". Numerele tale sunt double, deci te uiti la reprezentarea pe 64 de biti.

Link spre comentariu

* pana la urma ma gandesc ca rezolvarea problemei se rezuma la gasirea celor 3 numere care in format hexazecimal sa fie egale cu 4059000000000000, 3f847ae147ae147b respectiv 3fe921fb54442d18* cum am zis si mai sus am gasit ca la 0.01 ii corespunde in hexazecimal 3f847ae147ae147b ( nu ma intrebati cum l-am gasit :nebunrau: )* s-ar putea " convertii " numerele din hexazecimal in real printr-o serie de calcule sau cumva ???ps. sper sa nu vorbsc prostii ...

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări