Problem mit einer Division...

Anfängerfragen zum Programmieren mit PureBasic.
trampi
Beiträge: 2
Registriert: 22.03.2009 01:44

Problem mit einer Division...

Beitrag von trampi »

Ich habe ein sehr seltsames Problem. Ich weiß nicht wie ich es beheben kann.

Hier der Code:

Code: Alles auswählen

size = FileSize("temp")
Test = 84091384

Debug size; gibt 10243860
Debug Test; gibt 84091384

ergebnis = (size/test)

Debug ergebnis; gibt 0 .....
Warum kommt bei Ergebnis immer 0 heraus?
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

Jede Variable ist ohne Typenbezeichnung zunächst Ganzzahlig (Integer)

wenn du also eine Fließkommazahl erhalten möchtest, musst du dies Definieren:

Code: Alles auswählen

size = FileSize("temp") 
Test = 84091384 
ergebnis.f = (size/test)
in dem falle das .f für Float
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
X360 Andy
Beiträge: 1206
Registriert: 11.05.2008 00:22
Wohnort: Bodensee
Kontaktdaten:

Beitrag von X360 Andy »

Code: Alles auswählen

size = FileSize("temp")
Test = 84091384

Debug size; gibt 10243860
Debug Test; gibt 84091384

ergebnis = (size/test)

Debug StrD(ergebnis,5)
trampi
Beiträge: 2
Registriert: 22.03.2009 01:44

Beitrag von trampi »

herzlichen Dank.
Oh mein Gott, ich hätte nie damit gerechnet soetwas triviales übersehen haben zu können........

Danke.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Immer noch alles falsch :mrgreen:
FileSize gibt ein Quad zurück!
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> FileSize gibt ein Quad zurück!
hihi

.... ich würde sogar eine ausführliche form vorziehen, um auf der sicheren seite zu sein und maximale lesbarkeit zu wahren.
also erst in Quads packen, die in Doubles überführen, und dann erst die Division.

Code: Alles auswählen

QSize1.q = ( Random($FFFFFFF) << 28 ) + Random($FFFFFFF)
QSize2.q = ( Random($FFFFFFF) << 28 ) + Random($FFFFFFF)

; QSize1.q = FileSize("File1")
; QSize2.q = FileSize("File2")

Debug QSize1
Debug QSize2

DSize1.d = QSize1
DSize2.d = QSize2

Relation.d = DSize1 / DSize2

Debug Relation
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten