Archiv verlassen und diese Seite im Standarddesign anzeigen : Welche Typen von Variablen?
Hi Leute..
Ich habe mal eine Frage zu den Typen der Variablen..
Also ein Bit kann 0-1 sein
Ein Byte 0-256
Ein Integer -32767 - +32768
Wie sieht es mit Long, Word und String aus???
Ich brauche nämlich eine Variable die mindestens bis 3686400 zählen kann ^^
Mfg Yannik
Ein Byte 0-256
Ein Integer -32767 - +32768
Nicht ganz.
Byte 0 - 255
Integer -32768 - +32767
Word 0 - 65535
Long -2147483648 - +2147483647
String laut Help bis 254 Zeichen, geht aber auch länger, evtl. bis 65534
Steht übrigens alles in der Help unter "BASCOM Language Fundamentals" und da noch mal unter "Language Fundamentals".
Also wenn ich eingebe
Dim X As String * 3
Dann kann ich von 0 bis 16.777.216 zählen oder??
peterfido
22.01.2010, 21:49
Dim X as long, wenn X gezählt werden soll.
Könntet ihr mit trotzdem beantwortet ob das mit dem String richtig ist? Weil ein String * 3 würde ja weniger Speicherplatz verbrauchen als ein Long..
Theoretisch könntest du in einem 3 Zeichen langen String 256*256*256 = 16.777.216 verschiedene Werte unterbringen. Aber mit Zählen hat das nicht wirklich was zu tun.
Dein 3-Zeichen benötigt übrigens ebenfalls 4 Byte, da BASCOM automatisch ein 0-Byte am Ende reserviert.
Wie, also wenn ich einen String habe kann ich den nicht als einzelne Zahl verwenden???? Wie soll ich den sonst mit so großen Zahlen rechnen????????
Wie peterfido schon geschrieben hat, kannst du für große ganze Zahlen den Long-Typ nehmen.
Noch größere Zahlen gehen nur mit Fließkomma, also
Single 1.5 x 10^–45 bis 3.4 x 10^38
Double 5.0 x 10^–324 to 1.7 x 10^308
Steht aber auch alles in der Hilfe.
Ein String ist eine Zeichenfolge, also z.B. "abc", aber auch "123456789012345678901234567890".
Nur kannst du mit denen nicht rechnen.
Okay, danke..
Nach welchem Wert muss ich eigentlich im Datenblatt oder sonstwo suchen um herauszufinden, wie viel Bytes im jeweiligen AVR gespeichert werden können??
Ich habe nämlich die Befürchtung, dass der Atmega8 keine 2 Single und 2 Word speichern kann ^^ Das sind ja zusammen 36Byte ^^
Hallo YaNnIk
Nach welchem Wert muss ich eigentlich im Datenblatt oder sonstwo suchen um herauszufinden, wie viel Bytes im jeweiligen AVR gespeichert werden können??
Ich will bestimmt niemanden davon abhalten, im Datenblatt des µCs zu lesen. Aber da BASCOM einen Teil des SRAM für sich benötigt, ist es einfacher, den entsprechenden Chip unter Options->Compiler->Chip einzustellen. Dann werden dir die aktuellen Werte angezeigt.
Flash: Programmspeicher + $data-Block
SRAM: Variablenspeicher + Stacks
EEPROM: Nicht-flüchtiger Variablenspeicher mit beschränkten Schreibzyklen.
Ich habe nämlich die Befürchtung, dass der Atmega8 keine 2 Single und 2 Word speichern kann ^^ Das sind ja zusammen 36Byte ^^
Du kannst im ATMega8 1024 Byte im SRAM ablegen, das reicht schon für einiges.
Für die jeweiligen Speicherwerte muss man eigentlich nicht mal im Datenblatt blättern; steht jeweils auf der Titelseite.
Was manchmal bei Bascom zu Verwirrung/Problemen führt sind die Werte Softstack, HWStack, Framesize. Sind die zu klein, kommts von Zeit zu zeit zu seltsamen Effekten, wo man sich dann schon mal nen Wolf sucht.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.