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.
karomi
User
Beiträge: 18
Registriert: Mittwoch 12. Juli 2006, 12:42

Negative Zahlen in Hex umwandlen in Python 2.5

Beitragvon karomi » 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

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

Beitragvon mitsuhiko » Mittwoch 19. März 2008, 16:32

Code: Alles auswählen

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

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder