 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
seimon
Anmeldungsdatum: 09.06.2007 Beiträge: 12
|
Verfasst am: 07.07.2007, 16:58 Titel: Bytes im Hauptspeicher durch DIM Anweisung |
|
|
Hi, sorry das ich so eine Frage hier stelle, leider finde ich aber sonst wo keine Antwort. Also es geht mir darum, wieviele Bytes im Hauptspeicher bei einer entsprechenden DIM Anweisung belegt werden, z.B.
DIM x(25 TO 60) AS Integer, y(12,4) As Double
-> (60-25+1)*2+(12+1)*(4+1)*8
Meine Frage ist nun warum immer +1 und warum für y(12,4) 13*5.
Ich wäre für jede Antwort dankbar.
mfg seimon |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 07.07.2007, 17:16 Titel: |
|
|
Die genauen unterschiede zwischen FreeBASIC und QB sind mir leider nicht bekannt, aber sollten in der jeweiligen Referenz oder einer FAQ zu finden sein...
in FreeBASIC zB sind eine Double 64bit also 8byte gross
eine Integer sind 4byte ect...
warum nun y(12,4) 13*5 gerechnet wird ist, weil dort mit 0 angefangen wird
wuerdest Du nun y(1 to 12, 1 to 4) nehmen wuerde es 12*4 sein und dann nochmal mal typ in byte...
also waere auch eine variable xyz(10) as integer
byte=11*4 _________________
 |
|
Nach oben |
|
 |
seimon
Anmeldungsdatum: 09.06.2007 Beiträge: 12
|
Verfasst am: 07.07.2007, 17:22 Titel: |
|
|
Hi, danke und nun folgere ich mal, dass bei x(25 to 60) 36 Stellen hat, weil ja für 25 auch schon angelegt wurde oder?
mfg seimon |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 07.07.2007, 17:34 Titel: |
|
|
jo, du musst die indizies immer inklusive rechnen, und DIM(10) ist z.B. das selbe wie DIM(0 to 10), also 10 - 0 + 1. Genau so ist's bei 25 to 60: 60 - 25 + 1. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 07.07.2007, 18:39 Titel: Re: Bytes im Hauptspeicher durch DIM Anweisung |
|
|
seimon hat Folgendes geschrieben: | Meine Frage ist nun warum immer +1 und warum für y(12,4) 13*5. |
Was Du Dir bewusst sein musst: Index beginnt immer bei 0 bzw. genauer beim mit OPTION BASE festgelegten LBOUND()-Index. Somit belegst Du in Deinem Beispiel
Code: | +-----+-----+-----+-----+-----+
| 0, 0| 0, 1| 0, 2| 0, 3| 0, 4|
+-----+-----+-----+-----+-----+
| 1, 0| 1, 1| 1, 2| 1, 3| 1, 4|
+-----+-----+-----+-----+-----+
| 2, 0| 2, 1| 2, 2| 2, 3| 2, 4|
+-----+-----+-----+-----+-----+
| 3, 0| 3, 1| 3, 2| 3, 3| 3, 4|
+-----+-----+-----+-----+-----+
| 4, 0| 4, 1| 4, 2| 4, 3| 4, 4|
+-----+-----+-----+-----+-----+
| 5, 0| 5, 1| 5, 2| 5, 3| 5, 4|
+-----+-----+-----+-----+-----+
| 6, 0| 6, 1| 6, 2| 6, 3| 6, 4|
+-----+-----+-----+-----+-----+
| 7, 0| 7, 1| 7, 2| 7, 3| 7, 4|
+-----+-----+-----+-----+-----+
| 8, 0| 8, 1| 8, 2| 8, 3| 8, 4|
+-----+-----+-----+-----+-----+
| 9, 0| 9, 1| 9, 2| 9, 3| 9, 4|
+-----+-----+-----+-----+-----+
|10, 0|10, 1|10, 2|10, 3|10, 4|
+-----+-----+-----+-----+-----+
|11, 0|11, 1|11, 2|11, 3|11, 4|
+-----+-----+-----+-----+-----+
|12, 0|12, 1|12, 2|12, 3|12, 4|
+-----+-----+-----+-----+-----+ |
(zählen!) im Speicher. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
|
|
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.
|
|