Andere Schreibweise für % Modulo

Was für eine andere Schreibweise? Was ist die konkrete Frage?

Bei BigInteger ist es z.b.
Java:
public BigInteger mod(BigInteger m)
 
Leider nicht. "BigInteger", verwende ich noch nicht.
Ich glaube ich muss da einfach eine Rechenart anwenden.

Java:
float x,a,b;

//a wird eingegeben durch Scanner-Methode
//b wird eingegeben durch Scanner-Methode

x = a / b;

//Falls Restwert wird eine Kommazahl angezeigt
//aber jetzt muss es abgerundet werden, aber wie??
rest = x - abgerundetes Ergebnis;

Aber wie rund ich das ab und setze es um. Vielleicht das float x irgendwie in int x umwandeln. Aber das Problem ist, dass ja z.B. bei 1,94 auf 2 aufgerundet wird.
 
Knapp dran vorbei:
Code:
a%b = a – (a/b) * b
Das funktioniert so natürlich nur aufgrund der Ganzzahl-Division.

Verwendet man Fließkommazahlen muss man noch entsprechend runden:

Jap,
"a%b = a – (a/b) * b" war richtig. Danke. Aber wie soll man auf die Formel kommen?
Hast du dir das selbst hergeleitet oder ist das die Formel von Modulo?
 
kannst dir ja einfach überlegen, was der modulo operator macht.
Der modulo Operator gibt dir den Rest einer Division zurück. Also den Teil, welcher nicht mehr ganzzahlig geteilt werden kann. (a/b) liefert dir nur den ganzzahligen Teil der division (da integer).
 
Das ist einfach nur logisches Denken.... Modulo ist der Rest vom Dividieren. Also dividieren wir die Zahlen. Wenn wir zwei INT dividieren erhalten wir wieder einen INT also: 14/3=4. Das must dann nur wieder mit 3 multiplizieren und das von dem URsprung abziehen. Fertig.

Gruß

Claus
 

Neue Themen


Zurück
Oben