alhambra
Goto Top

Excel 2013: hextodez mit 16 Bit signed Integer?

Hallo zusammen,

ein Gerät (was genau ist hier egal) liefert uns Werte von -32768 bis +32768 als Hex-Wert. Der Hex-Wert ist ein 16-Bit signed Integer-Wert.

Beispiel:
Als Wert kann FC18 geliefert werden. Diesen Wert möchte ich mit Excel 2013 in einen Dezimalwert umrechnen, erhalte dabei aber immer 64536.

Kann ich Excel mitteilen, dass es sich hier um einen 16 Bit signed Integer-Wert handelt, damit es mir richtigerweise den negativen Wert von -1000 ermittelt?

Bei Google bin ich leider nicht fündig geworden.

Schonmal vielen Dank fürs Lesen!

Alhabra

Content-ID: 312093

Url: https://administrator.de/forum/excel-2013-hextodez-mit-16-bit-signed-integer-312093.html

Ausgedruckt am: 23.12.2024 um 04:12 Uhr

emeriks
Lösung emeriks 08.08.2016 um 15:50:09 Uhr
Goto Top
Hi,
es müsste reichen

if x > 32767 then
  x = x - 65536
end if

E.
alhambra
alhambra 08.08.2016 um 15:52:08 Uhr
Goto Top
Wow, danke für die schnelle Antwort!

So habe ich garnicht gedacht... sollte aber klappen!

Klasse, vielen Dank!

Alhambra
116301
116301 09.08.2016 um 00:20:40 Uhr
Goto Top
Hallo zusammen!

oder:
    Dim a As Integer, b As Integer, c As Integer, d As Integer
    
    a = CInt("&H" & Hex(65535))     ' = -1  
    b = CInt("&H" & Hex(32768))     ' = -32768  
    c = CInt("&H" & Hex(1))         ' = +1  
    d = CInt("&H" & Hex(32767))     ' = +32767  
Grüße Dieter