Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

komisches Zahlenformat

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
DrHoas



Anmeldungsdatum: 18.10.2007
Beiträge: 3

BeitragVerfasst am: 18.10.2007, 13:44    Titel: komisches Zahlenformat Antworten mit Zitat

Hallo,

ich hab ein QBasicprogramm bekommen in dem Zahlen teilweise in folgendem Format dargestellt sind:

7.1336005999999999D-2

Ich weiß, dass das die Zahl 0,71336005999999999 sein soll. Was aber bedeutet das D (kein Tippfehler!!! Es ist ein D, kein E!!! E's kommen aber auch vor)? Ich weiß nichtmal, ob es eine QBasicstruktur ist, oder was Mathematisches (womit ich hier dann völlig falsch wäre).

Danke für eure Hilfe.

Gruß,

Philipp
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 18.10.2007, 15:37    Titel: Antworten mit Zitat

sicher dasses 0,7 und nicht 0,07 ist?
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 18.10.2007, 15:47    Titel: Antworten mit Zitat

Hallo,

du kannst solche Zahlen wie folgt als "normale" Dezimalbrüche ausgeben lassen, wenn du die Scientific Notation nicht magst:
Code:
PRINT USING "##.#####"; zahl

Du hast übrigens im FreeBASIC-Unterforum gepostet. Wenn es tatsächlich um QBasic geht, verschieben wir den Thread ins entsprechende Unterforum hier. zwinkern

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Heizi



Anmeldungsdatum: 19.01.2005
Beiträge: 309

BeitragVerfasst am: 18.10.2007, 16:16    Titel: Antworten mit Zitat

das d bedeutet glaub ich *10^-2 ,
also 2 Kommastellen nach links
Gruß
Heizi
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DrHoas



Anmeldungsdatum: 18.10.2007
Beiträge: 3

BeitragVerfasst am: 18.10.2007, 16:52    Titel: Antworten mit Zitat

MisterD hat Folgendes geschrieben:
sicher dasses 0,7 und nicht 0,07 ist?


Mist, hat sich doch ein Tippfehler eingeschlichen. Es heißt natürlich 0,07!

Aber warum sind manche Zahlen mit diesem D und andere mit E angegeben. Die Bedeutung von E-2=*10^-2 ist mir schon klar und das D macht anscheinend das gleiche aber wie gesagt, warum einmal D, ein anderes Mal E?

Sebastian hat Folgendes geschrieben:
du kannst solche Zahlen wie folgt als "normale" Dezimalbrüche ausgeben lassen...


Ich hab die D's und E's im Quellcode und will nur verstehen, was das D bedeutet. Die Ausgabe ist mir nachher egal.

Gruß,

Philipp

PS Verschieben, Ok.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 18.10.2007, 16:55    Titel: Antworten mit Zitat

Ich habe mir überlegt, ob D vielleicht für doppelte Genauigkeit (double) stehen könnte, habe aber keine Ahnung, ob das stimmt.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 18.10.2007, 16:58    Titel: Antworten mit Zitat

Ich habe gerade in der MonsterFAQ von QBasic nachgeguckt, bei einfach genauen Zahlen (Single) wird E bei der Exponentialschreibweise verwendet, bei Zahlen mit doppelter Genauigkeit (Double) wird D benutzt.
_________________
Code:
#include "signatur.bi"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 18.10.2007, 17:16    Titel: Antworten mit Zitat

Na, da habe ich ja gut geraten. cool
Ich glaube, das auch schon irgendwann mal gelesen zu haben, ist aber schon einige Jahre her.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 18.10.2007, 21:28    Titel: Antworten mit Zitat

Mein berühmter Fliesskommezahlenartikel:

http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/Gleitkommazahlen.html

Ansonsten entspricht das von Dir beobachtete Verhalten übrigens dem Standardverhalten sämtlicher traditionellen Microsoft-BASIC-Varianten, also auch GW-BASIC und AmigaBASIC auf dem Commodore Amiga (und vermutlich noch diversen anderen Plattformen), wenn der Datentyp DOUBLE (#) als String umgewandelt wird und dabei der Wert wissenschaftlich dargestellt werden soll. Bei SINGLE (!) wird dagegen für die wissenschaftliche Darstellung ein "E" verwendet.

Abhilfen:
- Falls Anzahl signifikanter Stellen weniger als 7 und Wertebereich <= 10^38, dann die Werte mit CSNG() vor der Ausgabe in SINGLE umwandeln (je nach Anwendung reicht vielleicht sogar generell einfachgenaue Berechnung, womit Du entsprechenden Rechenzeitgewinn und Speicherplatzersparnis gewinnen kannst!)
- Wert mit STR$ als String umwandeln und das "D" durch "E" ersetzen. Siehe dazu

http://beilagen.dreael.ch/QB/DBL2SNG.BAS

=> die dortige FUNCTION kannst Du 1:1 in Dein Projekt übernehmen.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
DrHoas



Anmeldungsdatum: 18.10.2007
Beiträge: 3

BeitragVerfasst am: 19.10.2007, 11:43    Titel: Antworten mit Zitat

super, dass wir das geklärt haben. Danke!!!

Philipp
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz