0 Daumen
686 Aufrufe
Hi,

wie mache ich aus Prozentangaben eine Gewichtung mit ganzen Zahlen? Umgekehrt ist ja einfach :-)

Bsp:

Gewichtung 1 : 1 : 2 ist  25% : 25% : 50% Berechnung durch 1/4 und 2/4 bzw. 1/4*100 und 2/4*100

Aber umgekehrt, wenn z.B. 33,33% und 66,66% wie komme ich dann rechnerisch auf die Gewichtung 1 : 2? Raten geht ja nur bei so einfachen Beispielen :-)

Avatar von

2 Antworten

0 Daumen
Hi,

33,33% sind nichts anderes als 1/3*100

66,67% sind nichts anderes als 2/3*100


Du hast das gerade eben aus 1:1:2 ablesen können, nun einfach umgekehrt:


1:2

was ja insgesamt drei Teile sind, genau wie es sein soll ;).

Grüße
Avatar von 141 k 🚀
0 Daumen


dies geht nur für rationale Prozentangaben, aber nicht für irrationale. Du ersetzt alle Prozentangaben durch rationale Repräsentanten. Danach multiplizierst du alle Prozentangaben mit dem kleinsten gemeinsamen Vielfachen aller Nenner. Folglich stehen nur noch ganze Zahlen als Gewichte da.

MfG

Mister
Avatar von 8,9 k
Hi,

und vielen Dank für die Antwort. Klingt gut. Jetzt müsste ich das nur noch programmieren :-)

Aber wie mache ich das programmatisch? Wie komme ich auf die rationalen Repräsentanten? Wie entscheide ich, ob eine Zahl rational ist oder nicht? Das wäre ja der erste Schritt.

Danke und viele Grüße

T


also im Computer und in Rahmen von Programmen rechnet man grundsätzlich immer nur mit abzählbaren Zahlen, sprich ganzzahlig oder rational. Eine Zahl wie

0.5412

ist ja nicht irrational, sondern hat zum Beispiel den Repräsentanten

\( \frac{5412}{10000} .\)

Es gibt im Computer nur rationale Zahlen. Für \( \pi \) zum Beispiel bräuchte man unendlich viele Bits. Und welcher Computer hat schon unendlich viele Bits?

Was heiß das für dich? Du musst zuerst die Zahl mit dem längsten Nachkommaanteil suchen. Sei x dieser Nachkommanteil (zum Beispiel x = 9, falls der längste Nachkommaanteil 9 Stellen umfasst). Dann musst du alle Gewichte mit 10^x multiplizieren und erhältst bereits ganze Zahlen, die du dann noch durch ihren größten gemeinsamen Teiler teilen kannst (dafür gibt es einen Algorithmus auch für mehr als zwei Zahlen: https://www.mathelounge.de/43694/grosster-gemeinsamer-teiler-von-105-und-147 und https://www.mathelounge.de/28172/bestimme-den-ggt-von-630-924-1176 ).

MfG

Mister

PS: Von einem extra Datenyp für rationale Zahlen würde ich absehen.

PPS: Bei den Links zu meiner Antwort blättern.

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community