Word / Unicode zerlegen

Anfängerfragen zum Programmieren mit PureBasic.
svenulm31
Beiträge: 7
Registriert: 07.01.2012 11:00
Computerausstattung: min. 5 Stück
Wohnort: zuhause
Kontaktdaten:

Word / Unicode zerlegen

Beitrag von svenulm31 »

Hallo zusammen,
ich bin neu hier also hauz ruhig drauf >_<
Es giebt doch bestimmt eine bessere Methode ein Word in zwei Byte zu zerlegen ... oder?

Code: Alles auswählen

Case 2 
      ASPP = Val(GetGadgetText(2))                           ; max 65535
      SPP_ADRESSE_EMPFANGER_High.a = ASPP / 256
      SPP_ADRESSE_EMPFANGER_Low.a  = ASPP - 256
      Debug Hex(SPP_ADRESSE_EMPFANGER_High)
      Debug Hex(SPP_ADRESSE_EMPFANGER_Low) 
noch ein kleines Problemchen
Ich brauche von einem Word Bit 10, Bit 11... Bit16 als Bitwert (1 oder 0), und von diesem Word Bit 0 bis 9 (1024) als neue Variable.u
Wie bekomme ich das sauber hin ?
Danke euch schon mal Gruß Sven
Benutzeravatar
_JON_
Beiträge: 389
Registriert: 30.03.2010 15:24

Re: Word / Unicode zerlegen

Beitrag von _JON_ »

Ist alles mit Bit Operationen möglich. Also mit BitAnd und BitShift sieht das so aus.

Code: Alles auswählen

word.w = $1234

Low = word & $FF
high = ((word >> 8) & $FF)

Debug "Low  = " + Hex(Low)
Debug "High = " + Hex(high)
Debug ""

Debug "Bit 1 = " + Str(Low & %1)
Debug "Bit 2 = " + Str(Low & %10)
Debug "Bit 3 = " + Str(Low & %100)
Debug "Bit 4 = " + Str(Low & %1000)
Debug "Bit 5 = " + Str(Low & %10000)
Debug "Bit 6 = " + Str(Low & %100000)
Debug "Bit 7 = " + Str(Low & %1000000)
Debug "Bit 8 = " + Str(Low & %10000000)
Debug ""

Debug "Bit  9 = " + Str(high & %1)
Debug "Bit 10 = " + Str(high & %10)
Debug "Bit 11 = " + Str(high & %100)
Debug "Bit 12 = " + Str(high & %1000)
Debug "Bit 13 = " + Str(high & %10000)
Debug "Bit 14 = " + Str(high & %100000)
Debug "Bit 15 = " + Str(high & %1000000)
Debug "Bit 16 = " + Str(high & %10000000)
PureBasic 5.46 LTS (Windows x86/x64) | windows 10 x64 Oktober failure
Antworten