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:

Bytes im Hauptspeicher durch DIM Anweisung

 
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
seimon



Anmeldungsdatum: 09.06.2007
Beiträge: 12

BeitragVerfasst am: 07.07.2007, 16:58    Titel: Bytes im Hauptspeicher durch DIM Anweisung Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

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

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
seimon



Anmeldungsdatum: 09.06.2007
Beiträge: 12

BeitragVerfasst am: 07.07.2007, 17:22    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 07.07.2007, 17:34    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dreael
Administrator


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

BeitragVerfasst am: 07.07.2007, 18:39    Titel: Re: Bytes im Hauptspeicher durch DIM Anweisung Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
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