ich habe zwei Möglichkeiten gefunden, aber vielleicht kennt jemand eine bessere:
Code: Alles auswählen
#1. timeit wert: 0.6245423660002416
int(bin(zahl)[2+stelle]) #kommt mir 1. nicht stilvoll und außerdem ineffizient vor
#2. stelle von links! timeit wert: 0.022492227999464376
(zahl & (2**stelle-1))>>stelle-1
Code: Alles auswählen
#zuerst löscht man alles vor der stelle:
1011010 &
0011111 =
11010
#und dann wird der rest so verschoben, dass man die vorderste stelle hat
1101
110
11
1