binärstelle von integer extrahieren

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
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

Das kommt davon, wenn man der (python-) Suche ungeprüft glaubt. Die Operatoren sind ja ganz schön versteckt. Habe sie dann doch noch in der Referenz Abschnitt 6.9 gefunden. Am besten Ausdrucken und an die Wand nageln damit man sie immer im Blickfeld hat.
Pygoscelis papua
User
Beiträge: 206
Registriert: Freitag 13. März 2015, 18:36

Vielleicht in PyPy, aber in CPython ist `int` ja doch etwas von dem simplen Datentyp der in ein Prozessorregister passt, entfernt.
Da müsste bei Cython doch

Code: Alles auswählen

ctypedef unsigned long long ULLong
i = ULLong
i = 2**63
print(i)
gehen oder.
Das ist dann doch direkt der 64bit Integer von C oder?
import this
hidden python features

JAVA = Just Another Vulnerability Announcement :D
BlackJack

Falls ``unsigned long long`` ein 64-Bit-Integer ist, dann ist das ein 64-Bit-Integer, ja. Falls nicht, dann natürlich nicht. Ich benutze in C lieber die Definitionen aus `inttypes.h` wenn ich feste Bitbreiten brauche, das ist dann eindeutig.
Pygoscelis papua
User
Beiträge: 206
Registriert: Freitag 13. März 2015, 18:36

und wie kann ich das in Cython nutzen?
außerdem habe ich gemerkt, das wenn ich einen 64bit integer zurückgebe, er dann zu einem normalen python int wird. kann ich dass verhindern?
import this
hidden python features

JAVA = Just Another Vulnerability Announcement :D
BlackJack

@Pygoscelis papua: Die Headerdatei inkludieren und einfach verwenden würde ich sagen.

Was willst Du denn beim Rückgabewert verhindern? Mit C-Integer-Datentypen kann Python nichts anfangen, das kennt nur Python-Objekte. Wie hättest Du Dir das denn vorgestellt?
Antworten