Verständnisfrage :rolleyes:
-
aXYZn schrieb:
genau aber wenn der rest 1%10 wäre also 0.1 dann wird ja draus 0 oder? und bei 1%2 wird ja draus 1 oder?
1%10 bedeutet 'rest von 1/10' also die 1 selber, weil sie nicht durch 10 teilbar ist. bei 1%2 kommt das gleiche raus, weil 1 auch nicht durch 2 teilbar ist. erst die 10 ist durch 10 teilbar, d.h. % ergibt 0 (kein rest). bei 'ner 11%10 haste wieder rest 1, weil 11/10 = 1 rest 1.
-
aXYZn schrieb:
hi!
genau aber wenn der rest 1%10 wäre also 0.1 dann wird ja draus 0 oder? und bei 1%2 wird ja draus 1 oder?
was verstehst du an Interger Division bzw. Division mit natürlichen Zahlen nicht? 1%10 ist 1, da 1 = 10*0 + 1 und der Rest der Divsion ist 0.
Modulo macht nur Sinn auf |N (bzw. Z), auf |R hat keine Division einen Rest. a % b = c bedeutet also a = b * x + c, wobei a, b, c, und x alle natürliche Zahlen sind. Dasselbe gilt auf C, was ist denn da so schwer zu verstehen bzw. akzeptieren?
-
a % b = c bedeutet also a = b * x + c
1 % 10 = c
1 = 10 * x + c
Warum ist das x glied gleich 0?
Hmmm...
1=10x +1 | -1
0 = 10x |:10
x=0Zweiter Versuch:
1%2=c
1%2=c
1=2x+1 | -1
0=2x | :2
x=0Hmmm...
Dritter Versuch
7%3=c
7=3x+1 |-1
6=3x |:3
x=2 // Als was bezeichnet man das x Glied?Ist c ein Konstantes Glied, also hat in der Regel immer den Wert 1?
ich bin irwie zu blöd dafür...
-
supertux schrieb:
Dasselbe gilt auf C, was ist denn da so schwer zu verstehen bzw. akzeptieren?
was du mit C meinst, wenn du schon N, Z und R erwähnst. ich nehme an, du meinst die programmiersprache.
-
aXYZn schrieb:
// Als was bezeichnet man das x Glied?
als 'teiler' z.b.
aXYZn schrieb:
Ist c ein Konstantes Glied, also hat in der Regel immer den Wert 1?
nö, das was beim teilen übrigbleibt, also was sich nicht mehr runterteilen lässt. c schwankt zwischen 0...b-1
aXYZn schrieb:
ich bin irwie zu blöd dafür...
du hast nur reelle zahlen zu sehr verinnerlicht (die mit den nachkommastellen), vergiss die einfach mal kurz und schau mal hier: http://de.wikipedia.org/wiki/Ganze_Zahl
-
+fricky schrieb:
supertux schrieb:
Dasselbe gilt auf C, was ist denn da so schwer zu verstehen bzw. akzeptieren?
was du mit C meinst, wenn du schon N, Z und R erwähnst. ich nehme an, du meinst die programmiersprache.
Mit C meine ich die Sprache C, mit N natürliche Zahlen, Z ganze Zahlen und |R reelle Zahlen.
@aXYZn: du hast anscheinend Modulo nicht verstanden: http://de.wikipedia.org/wiki/Modulo
-
Du hattest in der Grundschule sicher mal "7 durch 4 ist 1 Rest 3"? Damals kanntest Du noch garkeine natürlichen Zahlen, geschweigedenn Nachkommastellen oder Runden.
Und der obige Satz wäre in C wie folgt dargestellt:
(7 / 4 == 1) && (7 % 4 == 3)
Modulo ("Rest") jetzt verstanden?
-
LordJaxom schrieb:
Du hattest in der Grundschule sicher mal "7 durch 4 ist 1 Rest 3"? Damals kanntest Du noch garkeine natürlichen Zahlen.
natürliche zahlen kennt bestimmt jedes kind, noch bevor's in die schule kommt.
-
LordJaxom schrieb:
Du hattest in der Grundschule sicher mal "7 durch 4 ist 1 Rest 3"? Damals kanntest Du noch garkeine natürlichen Zahlen, geschweigedenn Nachkommastellen oder Runden.
Und der obige Satz wäre in C wie folgt dargestellt:
(7 / 4 == 1) && (7 % 4 == 3)
Modulo ("Rest") jetzt verstanden?
^^ Ja!
Modulo ist ja eine Funktion. Das wusste ich ja noch garnicht, geschweige denn hat ich während meiner Schullaufbahn noch nie (Realschule in BW) Falls ich mal mein Abi nachhole lern ich es dann dort als Funktion kennen?
Gruß
agi
-
natürliche zahlen kennt bestimmt jedes kind, noch bevor's in die schule kommt.
außer ich xD! *schäm*
-
aXYZn schrieb:
Modulo ist ja eine Funktion. Das wusste ich ja noch garnicht
mathematisch gesehen isses wohl 'ne funktion. in C ist es ein 'operator'
aXYZn schrieb:
natürliche zahlen kennt bestimmt jedes kind, noch bevor's in die schule kommt.
außer ich xD! *schäm*
du hast sie nur vergessen.
-
mathematisch gesehen isses wohl 'ne funktion
lernt man das im Abi? Dann muss ich mein Abi nachholen xD. In der Realschule hatte ich Modulo als mathematische Funktion noch nie zu gesicht bekommen.
Oder muss man da auf eine höhere Ebene => Hochschule
Bitte das Interessiert mich.
-
aXYZn schrieb:
lernt man das im Abi?
klar, ich weiss aber nicht mehr wann's dran kam, hatte aber auch nur mathe grundkurs. im leistungskurs kommt bestimmt noch mehr, zahlentheoretische grundlagen, rechnen mit kongruenzen und so.
hier kannste mit der modulo-funktion rumspielen: http://www62.wolframalpha.com/input/?i=Plot[Mod[x%2C+10]%2C+{x%2C+0%2C+100}]
-
Dazu fällt mir ein, daß in nahezu allen Programmiersprachen das mit der Integerdivision unglücklich gelöst ist. Ich brauche meist den Rest auch noch und wenn einmal e = x/y und danach r = x%y dasteht, schmeißen alle mir bekannten Compiler die Hard- oder Soft- Dividiermaschine zweimal an.
Das ist verdammt häßlich zum einen und unperformant dazu. Aber C kann nunmal nur ein Ergebnis zurückgeben. Wenn es die Performance erfordert, muß ich immer an inline- ASM herumbasteln und das auf Funktionenebene mit durchgereichten Pointern nachbilden - immer viel Spaß mit Rückfall in ASM- Zeiten, aber wenn's core- loops sind, winkt schon mal die knappe Verdoppelung der Geschwindigkeit.
Aber ANSI- C bietet nichts dazu? Find' ich jetzt nicht sooo toll.
-
Also mein gcc hier macht bei
void divmod (int a, int b, int *div, int *mod) { *div = a/b; *mod = a%b; }
nur eine Division.
Ansonsten kann man ja auch sowas machen:
div = a/b; mod = a - div*b;
-
aXYZn schrieb:
denn hat ich während meiner Schullaufbahn noch nie (Realschule in BW) Falls ich mal mein Abi nachhole lern ich es dann dort als Funktion kennen?
Quatsch, in der Grundschule lernt man am Anfang nur ganzzahlige Division nach dem Schema:
10 35 |___ -30 3 --- 5
also ist 35 = 10 * 3 + 5 oder 35 % 10 = 5. Modulo ist nicht anders als das, nur dass du den Rest angibst anstatt den Quotient (und das hat man oft in der Grundschule gemacht). Du willst mir echt nicht sagen, dass ihr in der Schule nie Division gemacht habt, oder? Wow, dann seid ihr auf die Welt mit dem Wissen gekommmen, Respekt.
-
supertux schrieb:
Quatsch, in der Grundschule lernt man am Anfang nur ganzzahlige Division nach dem Schema:
10 35 |___ -30 3 --- 5
[/quote]
ja, aber dummerweise multipliziet man dann die 5 mit 10 und macht fröhlich mit den nachkommastellen weiter.
-
+friky schrieb:
ja, aber dummerweise multipliziet man dann die 5 mit 10 und macht fröhlich mit den nachkommastellen weiter.
ich verstehe nicht, was du meinst.
-
supertux schrieb:
Du willst mir echt nicht sagen, dass ihr in der Schule nie Division gemacht habt, oder? Wow, dann seid ihr auf die Welt mit dem Wissen gekommmen, Respekt.
Nein supertux lies doch mal bitte genauer xD, ich habe sie bis jetzt nur nicht als Funktion kennen gelernt und mein super "Instrument" (s. erster Post) hat mich auf die falsche fährte gelockt, so dass ich annahm das alles bis jetzt gelernte, jetzt keine Gültigkeit mehr besitzt
Na ja...
Gruß
agi
-
supertux schrieb:
+friky schrieb:
ja, aber dummerweise multipliziet man dann die 5 mit 10 und macht fröhlich mit den nachkommastellen weiter.
ich verstehe nicht, was du meinst.
das hier: http://de.wikipedia.org/wiki/Schriftliche_Division#Division_mit_Nachkommastellen