Am 28.11.2023 um 04:15 schrieb Andreas Kohlbach:
> On Mon, 27 Nov 2023 18:14:01 +0100, Wolf gang P u f f e wrote:
>>
>> Am 27.11.2023 um 05:54 schrieb Andreas Kohlbach:
>>>
>>> Btw. habt Ihr in den 80ern (unwissend) auch Unmengen kostbaren
>>> RAM-Speichers verschwendet?
>>> Meine (meist Commodore 64) BASIC Programme hatten meist Integer
>>> Variablen. Trotzdem hatte ich immer "A=20" statt "A$=20"
>>> genommen. Besonders wenn mehrere bearbeitet wurden, sollten mit "A$"
>>> intern Integers statt Floating-Point definiert worden sein, die weniger
>>> RAM belegten.
>>
>> Integervariablen wurden (zumindest im QBASIC) mit % statt $ definiert.
>> Also A%=20 benötigte weniger Speicher als A=20.
>
> Ah, Du hast Recht. "$" waren String-Variablen. Ich sollte das besser
> wissen. :-/
>
>> Hier mal ein Auszug aus irgendeinem Basic-Manual:
>> 2. Put a symbol after the variable name which is defined as representing
>> that type. QBasic has a set of symbols which represent each variable
>> type:
>>
>> $ String
>> % Integer
>> & Long
>> ! Single
>> # Double
>
> Der C64 mit seinem schwachen "Basic V2" konnte nur drei Arten. Gerade
> mal etwas dazu gefunden:
>
> | Commodore BASIC V2 supports three types of variables:
> |
> | * Real variables can hold any decimal figure in the range
> | ±2.93873588×10^-38 thru ±1.70141183×10^38. Variables of this kind have
> | no suffix to indicate their type. Example: A=1.234
> |
> | * Integer variables can hold 16-bit signed binary integers in the range
> | from -32768 thru 32767. The names of integer variables have a % sign as
> | a suffix to indicate that they represent an integer. Examples: A%, NO%,
> | AB%=1000
> |
> | * String variables can hold anything from 0 thru 255 PETSCII
> | characters: Names of this kind of variables end with a $ sign. Examples
> | NA$, P$, BA$="TEXT"
>
> Jedenfalls nahm niemand meiner Bekannten je "%", obwohl wir meist mit
> Integers arbeiteten.
>
> Gerade mal den C64 angeworfen (Emu) <
http://96.20.145.113/c64_variables.png>.
>
> Ich habe A und B als Integer deklariert und gleichzeitig befüllt. Dann
> per PRINT durcheinander teilen lassen. Ich hätte statt "4.8" "4" oder
> einen Error erwartet. Interessant...
>
> X'Post + F'up2 dafc.
In der Regel habe ich Intger (%) auch nicht extra benutzt.
Ich hatte aber Projekte, wo ich beim BASIC an irgendwelche
Speicherlimits kam, und da musste ich mich dann zusammenreißen, und da
wo es ging, Speicher sparende Variablen benutzen.
Im Gegenzug gab es auch Probleme, wo ich Variablen mit doppelter
Genauigkeit brauchte, weil sich sonst Rundungsfehler aufsummierten und
mir meine Grafiken versaut hätten.