-         

Ergebnis 1 bis 4 von 4

Thema: "typecast" unter bascom

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    26.01.2005
    Beiträge
    40

    "typecast" unter bascom

    Anzeige

    Hallo,
    gibt es eine Möglichkeit, z.b. zu einer word-variable eine long-variable zu addieren?

    In C gabs ja das typecasting, wie geht das unter bascom?

    danke!

  2. #2
    Erfahrener Benutzer Begeisterter Techniker Avatar von albundy
    Registriert seit
    16.10.2004
    Beiträge
    282
    Wo ist das Problem ?
    Code:
    Dim X as Long, Y as Word
    
    X=123456789
    Y=43211
    X=X+Y     'X=123500000

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    26.01.2005
    Beiträge
    40
    ich habs eigentlich umgekehrt gemeint:

    Code:
    Dim X as word, Y as long
    
    X=1000
    Y=2000
    X=X+Y
    Da bekomme ich einen Fehler

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.12.2005
    Ort
    Tann / ZH
    Alter
    61
    Beiträge
    264
    Du kannst immer problemlos von einer Variable die weniger Speicherplatz benötigt (in Pascal z. Bsp. Byte) zu einer casten die mehr Speicherplatz benötigt. (in Pascal z.Bsp. Integer).
    Umgekehrt ist es nicht mehr so einfach, da die Zahl nicht in den zur Verfügung stehenden Speicher passen würde.Da musst Du dich entscheiden welches Byte (das untere oder obere) du casten willst.

    z.Bsp.

    Var
    a : Byte; { 8 Bit }
    b : Word; { 16 Bit }
    c: Byte;

    a := 200;
    B: 1000; { Passt nicht in 1 Byte }
    c := a: { geht problemlos, da beide 1 Byte=8 Bit }
    C := B; { geht nicht, da B eine 16 Bit Zahl ist }

    Was geht:
    C := (B AND $00FF) ; { untere 8 Bits von B werden rausgeschnitten }
    C := ((B AND $FF00) SHL { obere 8 bits werden rausgeschnitten und um 8 stellen nach links verschoben und passen nun in 1 Byte }

    So ähnlich sollte es gehen. Schau mal in deinem Handbuch / deiner Hilfe zu deinem Compiler nach..
    MfG
    Ruedi

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •