Zahl aufteilen und Rest ermitteln

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
kiaralle
User
Beiträge: 208
Registriert: Donnerstag 19. August 2021, 19:11

Hi,

ich hab ein kleines Problem was ich lösen könnte, es scheint mir aber nicht der richtige Weg.

Auflösung = 4096
Teiler = 4

Teilmenge = Auflösung / Teiler

ergibt eine Teilmenge von 1024

Diese Teilmenge ergibt immer einen Winkel von 360°

Wenn ein Zähler 1023 wäre, er ist kleiner der Teilmenge so sind die 360° noch nicht erreicht. So der einfache Weg.

Der Zähler kann aber weiter steigen in Richtung 4096.
Wie berechne ich bei einem Zähler von 2000 das er in der zweiten Teilmenge 1025-2048 liegt und er somit 976 beträgt und einem Winkel von 360/1024*976 = 343,125° hat.

Also schöner. Mir fällt nur etwas mit Bedingungen ein. IF....

Gruß Ralf
Benutzeravatar
sparrow
User
Beiträge: 4663
Registriert: Freitag 17. April 2009, 10:28

Du suchst den Modulo Operator?

Code: Alles auswählen

>>> 300%360
300
>>> 365%360
5
>>> 360/1024*2000%360
343.12
kiaralle
User
Beiträge: 208
Registriert: Donnerstag 19. August 2021, 19:11

Danke der Tipp war wieder Super.
Wuste doc hdas ihr eine Lösung habt

Code: Alles auswählen

max_inkrement = 4096
polpaar = 4

inkrement_teilung = max_inkrement / polpaar
print("Offset-Teilung : ",inkrement_teilung,  "bei" , polpaar, "Polpaare")


position = 1024

offset_winkel = 360/inkrement_teilung*position%360


uv_position = 360/6/2+ (360/polpaar)
print("+U -V : ", uv_position,"°")

mech_winkel = 360/max_inkrement * position
print("mech. Winkel : ", mech_winkel,"°")
print("elektr. Winkel : ", offset_winkel,"°")

Ausgabe 1
Offset-Teilung : 1024.0 bei 4 Polpaare
+U -V : 120.0 °
mech. Winkel : 90.0 °
elektr. Winkel : 0.0 °

Ausgabe 2
Offset-Teilung : 1365.3333333333333 bei 3 Polpaare
+U -V : 150.0 °
mech. Winkel : 90.0 °
elektr. Winkel : 270.0 °
Antworten