Negative Zahlen in Hex umwandlen in Python 2.5

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
karomi
User
Beiträge: 18
Registriert: Mittwoch 12. Juli 2006, 12:42

Mittwoch 19. März 2008, 14:04

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
BlackJack

Mittwoch 19. März 2008, 14:18

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
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Mittwoch 19. März 2008, 16:32

Code: Alles auswählen

>>> '0x%x' % ((1 << 32) - 100)
'0xffffff9c'
TUFKAB – the user formerly known as blackbird
Antworten