Prozentrechnung

Gast #332313
Lesenswert?

@unbekannt
Hier bekommt man einfach keine vernünftigen antworten.
@all
Die "maschine" soll Werte Auswerten und ausgeben.
Ich habe einen Fader der steht z.B auf dem Wert 80 und einen Weiteren
Fader ( masterfader) der steht z.B auf 125 ausgegeben soll dann der
wert
40. Wie rechne ich das?
Gast #332316
Lesenswert?

Ich gehe mal davon aus, dass du einen 8-bit AD/Wandler hast und den
Fader in Abhängigkeit des Mastere errechnen willst.  Das wäre dann
Faderwert * Masterwert >> 8.

Oder hab ich's doch nicht verstanden?

MW
Gast #332317
Lesenswert?

> Ich habe einen Fader der steht z.B auf dem Wert 80 und einen
> Weiteren Fader ( masterfader) der steht z.B auf 125 ausgegeben
> soll dann der wert 40. Wie rechne ich das?

Na, das ist doch einfach:

  wert = masterfader - fader - 5

Also für Dein Beispiel:

  wert = 125 - 80 - 5 = 40

Da braucht's nicht mal Prozentrechnung.


> Hier bekommt man einfach keine vernünftigen antworten.

Doch, bekommt man! Jede Frage bekommt genau die Antwort, die sie
verdient!
Gast #332319
Lesenswert?

> Hier bekommt man einfach keine vernünftigen antworten.

Wer vernünftige Fragen stellt, bekommt auch vernünftige Antworten.
Deine Frage ist ungefähr so präzise, wie "was muß ich tun, wenn ich
beim Autofahren an einem Schild vorbeikomme?"
Also, bevor du dich über die Antworten aufregst, lern bitte erstmal,
Fragen so zu stellen, daß man was damit anfangen kann.

> Die "maschine" soll Werte Auswerten und ausgeben.
> Ich habe einen Fader der steht z.B auf dem Wert 80 und einen
>  Weiteren Fader ( masterfader) der steht z.B auf 125 ausgegeben
> soll dann der wert 40.

Und warum soll dieser Wert rauskommen?
#332320
Lesenswert?

Also bitte, das ist ja mal wirklich das kleine 1 mal 1.

Wenn ich einen Wertebereich von 0-255 auf 0-100 runterechnen will, dann
teilt man den Wert einfach durch 2,55. Wenn man die Verwendung von
fliesskommazahlen scheut, weil man gerade in Asm unterwegs ist,
erweitert man beide Seiten mal 100 (bsp: 25500/255=100). Dadurch ist
man natürlich dann gezwungen, 16bit Rechnungen zu verwenden. Der kleine
Hobbyprogrammierer von nebenan sollte das aber locker hinbekommen.
Gast #332321
Lesenswert?

Also 80 sind 40% von 200. Unter der Annahme, dass ein Fader einen
Wertebereich von 0...200 hat würde das Sinn machen. Was das alles mit
dem Masterfader zu tun hat... Tja da wäre etwas mehr Info hilfreich.

Beschreib doch mal genau was du vorhast, sofern du es den weisst.
Es wäre z.B. interessant zu wissen, wie du die Werte der Fader
überhaupt in den µC bekommst und was dann hinten wieder rauskommen
soll.

Wenn du etwas genauer wirst, bekommst du evtl. sogar von
"Unbekannter" ne sinnvolle Antwort
Gast #332325
Lesenswert?

Wir schmeissen HEX-Darstellung und dezimale Darstellung durcheinander.
Wer rechnen kann ist klar im Vorteil:
40h = 64d
80h = *128*d

Wie gross ist dein Maximalwert? Der ist vermutlich nicht konstant. Dann
wird es schwer...
Gast #332326
Lesenswert?

Ich versteh immernoch nicht wirklich welcher Zusammenhang da besteht.
Vor allem mit der 125.
Schreib halt mal ganze Erklärungen, und nicht immer nur Satzfragmente.
Im Interpretieren von Texten war ich noch nie gut, und ich denke, das
geht der Mehrheit hier so.

@Unbekannter
Bist du sicher, dass es so geht? Ich glaub nämlich nicht...
Aber einfach ist es allemal.
Gast #332328
Lesenswert?

Der wertebereich sollte von 0-255 dezimal gehen.
wertebereich fader1 auch von 0-255


fader 1 = z.B Dez 40  Master 50% (128 im wertebereich 0-255) es sollte
herrauskommen 20

Fader 1 = Dez 255 master 100% ergebniss 255 usw.
Gast #332330
Lesenswert?

Nun, dann hab ich dir den Weg doch gezeigt. Ersetze das ">>8" durch
eine Division durch 255. Ist etwas genauer, aber langsamer. Musst halt
sehen, ob du die Genauigkeit brauchst. Aber, Assembler lernen musst du
schon selber.

MW
Gast #332332
Lesenswert?

Ich würde mal sagen die Lösung scheint trivial, allerdings stellt sich
mir die Frage was Rene für ein Problem hat.
Das wird wieder ein ewiglangen Thread bis sich der Ersteller
entschließt sein Problem zu definieren!

Viel Spaß noch dabei.....
Gast #332333
Lesenswert?

Hallo,

es geht darum einen RGB Dimmer zu steuern
Fader 1 = Rot
Fader 2 = Grun
Fader 3 = Blau

Gerät funktioniert ganz gut soweit.

jetzt soll der master hinzukommen und ich suche nach ansätzen wie man
das am besten macht.
Es kamen immer wieder Vorschläge von Leuten wir sollten noch einen
weiteren Fader zur verfügung stellen der sozusagen als master fungiert
um z.B. eine Eigestellte RGB Farbe in der Helligkeit verändern zu
können ohne alle Drei fader bewegen zu müssen sonderen mit einem  Fader
dem "Masterfader".

Ich hoffe das leuchtet ein.
Bitte jetzt nicht mit das kannst Du dir doch kaufen bla bla..
#332334
Lesenswert?

Ist doch simpel:

Annahme:
  Fader hat einen Wertebereich von 0 bis 255
  Master hat einen Wertebereich von 0 bis 255

dann ist der zu setzende Wert
  Wert = Fader * Master / 255;

Prozentrechnung halt, nur entspricht ein Wert von 255
den 100%. Wo liegt das Problem? Schreib dir oder besorg dir
eine 16 Bit Arithmetik und los gehts.
Gast #332335
Lesenswert?

Aha. Also mit den neuen Information würde ich folgenden Algorithmus
vorschlagen:

  a.) Den Fader und den Master in Prozent umrechnen.
      Beispiel: Fader 20 = 7,843%  Master 128 = 50,196%

  b.) Die Prozentwerte in Binäre-Brüche umwandeln. Beispiel:
      7,843% = 0b111,110101...  50,196% = 0b11010,001...

  c.) Die beiden Binärebrüche miteinander multiplizieren.

  d.) Das Ergebnis mit 0b0,00000110100001... multiplizieren.

Fertig! Das war schon alles!

Das alles natürlich mit mindestens 32 Bit Genauigkeit rechnen, sonst
gibt's Fehler!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren