Seite 1 von 1

Negative Zahlen in Hex umwandlen in Python 2.5

Verfasst: Mittwoch 19. März 2008, 14:04
von karomi
Hallo Allerseits,
ich habe folgendes Problem:
Wenn ich unter Python 2.2 folgendes mache:
print hex(-100)
bekomme ich folgendes:
'0xffffff9c'

Nun.. In Python 2.5 Version wird die Ausgabe folgendes lauten:
0x64 das ist in dezimal 100 und nicht -100.

Ich will aber die Ausgabe wie bei der Version 2.2 haben:'0xffffff9c' in der Version 2.5.

Wie geht denn das?
Ich bedanke mich bei euch im Voraus
MFG

Verfasst: Mittwoch 19. März 2008, 14:18
von BlackJack
Das ist nicht ganz korrekt: Das Vorzeichen wird in Python 2.5 korrekt ausgegegeben:

Code: Alles auswählen

In [101]: hex(-100)
Out[101]: '-0x64'
Du wirst halt ein wenig rechnen müssen:

Code: Alles auswählen

In [102]: print '%#x' % (0x100000000 - 100)
0xffffff9c

Verfasst: Mittwoch 19. März 2008, 16:32
von mitsuhiko

Code: Alles auswählen

>>> '0x%x' % ((1 << 32) - 100)
'0xffffff9c'