ich habe es erst mit 24 Bit gemacht, aber der Taschenrechner zur Probe wollte nicht
#include <stdio.h> #include <stdlib.h> #include <time.h> int main (void) { int a; int b; time_t t; int i; char as [17]; char bs [17]; srand ((unsigned) time (\&t)); a = rand () % (256*256); b = rand () % (256*256); for (i = 0; i < 16; i++) as [15-i] = '0' + ((a >> i) \& 0x01); for (i = 0; i < 24; i++) bs [15-i] = '0' + ((b >> i) \& 0x01); as [16] = 0; as [16] = 0; printf ("%s %in", as, a); printf ("%i %sn", b, bs); return 0; }
1110110001011010 60506 63568 1111100001010000
1110110001011010 60506 63568 1111100001010000 a) 63568 / 2 = 31784 31784 / 2 = Zwischenrechnung 63568 2 60000 / 2 + 3000 / 2 + 500 / 2 + 60 / 2 + 8 / 2 --------------- 30000 + 1500 + 250 + 30 + 4 -------------- 31784 31784 = 30000 1000 700 80 4 31784 = 30000 / 2 = 14000 Rest 2000 1000 + 2000 = 3000, 3000 / 2 = 1400 Rest 200 700 + 200 = 900, 900 / 2 = 400 Rest 100 80 + 100 = 180 / 2 = 90 Rest 0 4 / 2 = 2 Rest 0 14000 1400 400 90 2 ----- 15892
Ok, das hat funktioniert 1110110001011010 60506 63568 1111100001010000 a) 63568 / 2 = 31784 Rest 0 31784 / 2 = 15892 Rest 0 15892 / 2 = 7946 Rest 0 7946 / 2 = 3973 Rest 0 3973 / 2 = 1986 Rest 1 1986 / 2 = 993 Rest 0 993 / 2 = 496 Rest 1 496 / 2 = 248 Rest 0 // Ab hier weiss ich es im Kopf 248 / 2 = 124 Rest 0 124 / 2 = 62 Rest 0 62 / 2 = 31 Rest 0 31 / 2 = 15 Rest 1 15 / 2 = 7 Rest 1 7 / 2 = 3 Rest 1 3 / 2 = 1 Rest 1 1 / 2 = 0 Rest 1 Die Zahl lautet 1111100001010000 Zwischenrechnung 63568 2 60000 / 2 + 3000 / 2 + 500 / 2 + 60 / 2 + 8 / 2 --------------- 30000 + 1500 + 250 + 30 + 4 -------------- 31784 31784 = 30000 1000 700 80 4 31784 = 30000 / 2 = 14000 Rest 2000 1000 + 2000 = 3000, 3000 / 2 = 1400 Rest 200 700 + 200 = 900, 900 / 2 = 400 Rest 100 80 + 100 = 180 / 2 = 90 Rest 0 4 / 2 = 2 Rest 0 14000 1400 400 90 2 ----- 15892 15892 = 10000 5000 800 90 2 15892 = 10000 / 2 = 4000 Rest 2000 5000 + 2000 = 7000, 7000 / 2 = 3000 Rest 1000 800 + 1000 = 1800, 1800 / 2 = 900, Rest 0 90 / 2 = 40, Rest 10 2 + 10 = 12, 12 / 2 = 6 Rest 0 4000 3000 900 40 6 ---- 7946 7946 = 7000 900 40 6 7946 = 7000 / 2 = 3000 Rest 1000 900 + 1000 = 1900, 1900 / 2 = 900 Rest 100 40 + 100 = 140, 140 / 2 = 70, Rest 0 6 / 2 = 3, Rest 0 3000 900 70 3 ---- 3973 3973 / 2 = 3000 900 70 3 3973 / 2 = 3000 / 2 = 1500 Rest 0 900 / 2 = 400 Rest 100 70 + 100 = 170, 170 / 2 = 80 Rest 10 3 + 10 = 13, 13 / 2 = 6, Rest 1 1500 400 80 6 ---- 1986 1986 / 2 = 1000 900 80 6 /2 1986 / 2 = 1000 / 2 = 500 Rest 0 900 / 2 = 400 Rest 100 80 + 100 = 180, 180 / 2 = 90, Rest 0 6 / 2 = 3 500 400 90 3 --- 993 993 / 2 = 900 / 2 90 / 2 3 / 2 993 / 2 = 900 / 2 = 400, Rest 100 90 + 100 / 2 = 190, 190 / 2 = 90, Rest 10 3 + 10 / 2 = 6, Rest 1 400 90 6 --- 496, Rest 1
OK, und ich erweitere mein Übungsprogramm und teile eine grosse 64 bit zahl, durch 32 Bit.
Jetzt erst die Binärzahl umrechnen.
OK, die Bin"arumrechnung hat auch funktioniert 1110110001011010 60506 63568 1111100001010000 a) 63568 / 2 = 31784 Rest 0 31784 / 2 = 15892 Rest 0 15892 / 2 = 7946 Rest 0 7946 / 2 = 3973 Rest 0 3973 / 2 = 1986 Rest 1 1986 / 2 = 993 Rest 0 993 / 2 = 496 Rest 1 496 / 2 = 248 Rest 0 // Ab hier weiss ich es im Kopf 248 / 2 = 124 Rest 0 124 / 2 = 62 Rest 0 62 / 2 = 31 Rest 0 31 / 2 = 15 Rest 1 15 / 2 = 7 Rest 1 7 / 2 = 3 Rest 1 3 / 2 = 1 Rest 1 1 / 2 = 0 Rest 1 Die Zahl lautet 1111100001010000 Zwischenrechnung 63568 2 60000 / 2 + 3000 / 2 + 500 / 2 + 60 / 2 + 8 / 2 --------------- 30000 + 1500 + 250 + 30 + 4 -------------- 31784 31784 = 30000 1000 700 80 4 31784 = 30000 / 2 = 14000 Rest 2000 1000 + 2000 = 3000, 3000 / 2 = 1400 Rest 200 700 + 200 = 900, 900 / 2 = 400 Rest 100 80 + 100 = 180 / 2 = 90 Rest 0 4 / 2 = 2 Rest 0 14000 1400 400 90 2 ----- 15892 15892 = 10000 5000 800 90 2 15892 = 10000 / 2 = 4000 Rest 2000 5000 + 2000 = 7000, 7000 / 2 = 3000 Rest 1000 800 + 1000 = 1800, 1800 / 2 = 900, Rest 0 90 / 2 = 40, Rest 10 2 + 10 = 12, 12 / 2 = 6 Rest 0 4000 3000 900 40 6 ---- 7946 7946 = 7000 900 40 6 7946 = 7000 / 2 = 3000 Rest 1000 900 + 1000 = 1900, 1900 / 2 = 900 Rest 100 40 + 100 = 140, 140 / 2 = 70, Rest 0 6 / 2 = 3, Rest 0 3000 900 70 3 ---- 3973 3973 / 2 = 3000 900 70 3 3973 / 2 = 3000 / 2 = 1500 Rest 0 900 / 2 = 400 Rest 100 70 + 100 = 170, 170 / 2 = 80 Rest 10 3 + 10 = 13, 13 / 2 = 6, Rest 1 1500 400 80 6 ---- 1986 1986 / 2 = 1000 900 80 6 /2 1986 / 2 = 1000 / 2 = 500 Rest 0 900 / 2 = 400 Rest 100 80 + 100 = 180, 180 / 2 = 90, Rest 0 6 / 2 = 3 500 400 90 3 --- 993 993 / 2 = 900 / 2 90 / 2 3 / 2 993 / 2 = 900 / 2 = 400, Rest 100 90 + 100 / 2 = 190, 190 / 2 = 90, Rest 10 3 + 10 / 2 = 6, Rest 1 400 90 6 --- 496, Rest 1 1110110001011010 1 * 2\^15 1 * 2\^14 1 * 2\^13 0 * 2\^12 1 * 2\^11 1 * 2\^10 0 * 2\^9 0 * 2\^8 0 * 2\^7 1 * 2\^6 0 * 2\^5 1 * 2\^4 1 * 2\^3 0 * 2\^2 1 * 2\^1 0 * 2\^0 1 * 2\^15 = 8192 + 8192 + 8192 + 8192 1 * 2\^14 = 8192 + 8192 1 * 2\^13 = 8192 1 * 2\^11 = 2048 1 * 2\^10 = 1024 1 * 2\^6 = 64 1 * 2\^4 = 16 1 * 2\^3 = 8 1 * 2\^1 = 2 8192 + 8192 8192 8192 1 ----- 16384 16384 16384 1 1 ----- 32768 1 * 2\^15 = 32768 1 * 2\^14 = 16384 1 * 2\^13 = 8192 1 * 2\^11 = 2048 1 * 2\^10 = 1024 1 * 2\^6 = 64 1 * 2\^4 = 16 1 * 2\^3 = 8 1 * 2\^1 = 2 32768 16384 111 ------ 49152 8192 2048 1024 11 ---- 11264 49152+11264 64+16 = 80 80+8+2 = 90 49152 11264 1 1 ----- 60416 60416 +90 60506
1110110001011010 1 * 2\^15 1 * 2\^14 1 * 2\^13 0 * 2\^12 1 * 2\^11 1 * 2\^10 0 * 2\^9 0 * 2\^8 0 * 2\^7 1 * 2\^6 0 * 2\^5 1 * 2\^4 1 * 2\^3 0 * 2\^2 1 * 2\^1 0 * 2\^0 1 * 2\^15 = 8192 + 8192 + 8192 + 8192 1 * 2\^14 = 8192 + 8192 1 * 2\^13 = 8192 1 * 2\^11 = 2048 1 * 2\^10 = 1024 1 * 2\^6 = 64 1 * 2\^4 = 16 1 * 2\^3 = 8 1 * 2\^1 = 2 8192 + 8192 8192 8192 1 ----- 16384 16384 16384 1 1 ----- 32768 1 * 2\^15 = 32768 1 * 2\^14 = 16384 1 * 2\^13 = 8192 1 * 2\^11 = 2048 1 * 2\^10 = 1024 1 * 2\^6 = 64 1 * 2\^4 = 16 1 * 2\^3 = 8 1 * 2\^1 = 2 32768 16384 111 ------ 49152 8192 2048 1024 11 ---- 11264 49152+11264 64+16 = 80 80+8+2 = 90 49152 11264 1 1 ----- 60416 60416 +90 60506
// Ich habe das Programm fertig geschrieben nicht f"ur 64 Bit - achten sie auf das unsigned sonst gibt es einen integer overflow // Das unsigned muss rein. weil wir haben ja - signed -8192 bis 8191 jetzt f"ur diese Werte. Deswegned - unsigned #include <stdio.h> #include <stdlib.h> #include <time.h> #define WORD (unsigned) 256 * 256 #define DOUBLE_WORD (unsigned) WORD * WORD #define QUAD_WORD DOUBLE_WORD * DOUBLE_WORD int main (void) { int a; int b; time_t t; int i; char as [17]; char bs [17]; srand ((unsigned) time (\&t)); a = rand () % (256*256); b = rand () % (256*256); for (i = 0; i < 16; i++) as [15-i] = '0' + ((a >> i) \& 0x01); for (i = 0; i < 24; i++) bs [15-i] = '0' + ((b >> i) \& 0x01); as [16] = 0; as [16] = 0; printf ("%s %in", as, a); printf ("%i %sn", b, bs); unsigned long int c; unsigned long int d; unsigned long int e; c = (rand () % (DOUBLE_WORD-1))+1; d = (rand () % (WORD-1))+1; e = c/d; printf ("%i/%i = %in", c, d, e); return 0; }
1110111101100000 61280 31278 0111101000101110 527475367/4034 = 130757
Jetzt kommt der Test 527475367/4034 = 130757
Kann sein, dass da was nicht stimmt. Ich war ja so schlau und habe auf unsigned geschworen, und habe ganz vergessen, bei printf unsigend zu verwenden.
Doch, das scheint in dem Fall zu stimmen
Moment, ich habe bei meiner Rechnung gerade nicht aufgepasst, ich mache jetzt weiter.
Also, offensichtlich tut das Verfahren, wenn ich durch zwei Teile 31784 = 30000 / 2 = 14000 Rest 2000 1000 + 2000 = 3000, 3000 / 2 = 1400 Rest 200 700 + 200 = 900, 900 / 2 = 400 Rest 100 80 + 100 = 180 / 2 = 90 Rest 0 4 / 2 = 2 Rest 0 Kann man bequem durch 2 Teilen Durch 4034 Teilen ist nicht bequem. Dann muss ich den Rest herausfinden. Aber ich bin auf ein N"aherungsverfahren gekommen 31784 = 30000 / 2 = 14000 Rest 2000 1000 + 2000 = 3000, 3000 / 2 = 1400 Rest 200 700 + 200 = 900, 900 / 2 = 400 Rest 100 80 + 100 = 180 / 2 = 90 Rest 0 4 / 2 = 2 Rest 0 1110111101100000 61280 31278 0111101000101110 527475367/4034 = 130757 527475367/4034 = 527475367/4034 = 4034 0 2017 1 1008,5 2 504,25 3 252,125 4 126,0625 5 63,03125 6 31,515625 7 15,7578125 8 7,87890625 9 3,939453125 10 1,9697265625 11 0,98486328125 12 128778,165771Ich teile den divisor immer wieder durch 2. Und so oft ich das gemacht habe, mache ich das mit dem Dividenden. Das Ergebnis der 2 Teilung also 2n̂ ist ungefähr der Quotient
Aber das ist nur ein Näherungsergebnis. Ich muss über den Rest nachdenken, Gut, ich gucke jetzt im Netz nach.[/code]
Ja, gut, was hier geschrieben steht, entspricht dem, was ich gemacht habe
https://lehrerfortbildung-bw.de/u_matnatech/mathematik/bs/bej/bej1/grund/anl_divi/">Das ist genau, das was ich gemacht habe.
https://www.sivakids.de/schriftlich-dividieren-division/">Aber mit diesem Verfahren kann man ja nicht 4034 teilen. das ist das Problem und ich hätte gerne eines, mit dem man dadurch teilen kann.
Das habe ich gemacht, wenn auch mit 2. Das kann ich auch. Aber ich möchte durch 4034 teilen.. Das ist was anderes.
Nein, stimmt doch nicht, hier ist es besser erklärt. Hier ist es mit 14 erklärt. Gut, das ist OK. Das ist OK so. Dann muss ich trotzdem den Rest finden
https://www.studienkreis.de/mathematik/schriftlich-dividieren-rest/">
Bei so grossen Zahlen den Rest finden, das ist nicht ganz so einfach. Aber ich habe mich im Prinzip nicht geiirt, dass ich vorne Anfange, und das Teile. Nur bei der Darstellung, weil ich habe hat
5000000 und so weiter geschrieben.- Das war bei mir nicht richtig. Das was ich geamcht habe, vom Prinzip das geliche und ich hätte genauso dividieren müssen
OK - .dann probiere ich das mal mit dem Verfahren aus.
Den Rest, finde ich natürlich einfach durch Subtraktion, das ist kein Problem - den kann ich einfach finden, mit Subtraktion.
1110111101100000 61280 31278 0111101000101110 527475367/4034 = 130757 527475367/4034 = 527475367/4034 = 527475367/4034 = 130757 Rest 1629 -4034 ----- 12407 - 4034 - 4034 - 4034 ------ 3055 - 0 ----- 30553 -7*4034 ------- 23156 -5*4034 ------- 29867 -7*4034 -------
So, ich habe mir jetzt allerdings den Taschenrechner zur Hilfe genommen. Beim Teilen durch 4034 und bin dahinter gekommen, dass es doch ganz einfach ist Wir machen schriftliche Subtraktion. Das heisst, wenn wir 11000 durch 4034 teilen Dann rechnen 11000 4034 ------- a Z"ahlen mit a - 4034 = b z"ahlen mit und dann haben wir am Ende auch den Rest.
Ok, das mache ich jetzt mit der Binärrechnung gleich mit
Die eine Aufgabe lautet
1.) Rechne eine Dezimalzahl in eine Binärzahl um 2.) Rechne eine Binärzahl in eine Dezimal zahl um 3.) Dann kommt noch etwas: Rechne eine Zahl ins Zweierkomplement um 4.) Addiere 3 Zahlen Schriftlich, dezimal 5.) Subtrahiere 3 Zahlen schriftlich dezimal 6.) Multipliziere zwei Zahlen schriftlich 7.) Dividiere zwei Zahlen schriftlich.
Ich mache bei dem Programm noch eine erweiterung - ich erstelle eine Tabelle. Ein Array, von integer - da werde ich die ersten so und so viele Primzahlen speichern. Dann lasse ich den Computer eine Zahl mit den Primzahlen erstellen. Das heisst, ich multipliziere die Primzahlen. Ach so einfach l"asst sich eine weitere Primzahl finden. So einfach l"asst sich eine grosse Primzahl finden - wenn man den Satz des Euklids f"ur die Unendlichkeit der Primzahlen nimmt 2*2*2*2*2+1 m"usste demnach eine Primzahl sein. Kann das sein? Wir probieren es mal aus 2*2+1 = 5 stimmt 2*2*2+1 = 9 stimmt nicht. Ach so ich verstehe, das d"urfen nur unterschiedliche Primzahlen sein. Der Beweis hat mit Primfaktorzerlegung nichts zu tun. Primfaktorzerlegung ist 2*3 2*2*3 2*2*2*3 Oder 3*3*3 Aber, wenn ich 2*3+1 = 7 Primzahl 2*5+1 = 11 Primzah 2*7+1 = 15 keine Primzahl Ach, so man muss alle nehmen 2*3+1 = 7 Ja 2*3*5+1 = 31 Ja 2*3*5*7+1 = 211 Wahrscheinlich Ja, k"onnte man mal "uberpr"ufen ob das stimmt. Also ich muss machen 2*2+1 = 5 2*3+1 = 7 2*5+1 = 11 Aber hier stimmt was nicht. Gut, ich sage mir halt an der Stelle - "Uben geht vor. Und ich mache das so. Der Computer errechnet Primzahlen, speichert sie in einem Array. Dieses Array ist nicht geheim. Das heisst, das wird ver"offentlicht. Mir. Und jetzt errechnet er aus den Errechneten Zahlen eine neue Zahl. Mit Primfaktorzerlegung, das heisst, mit einem Produkt. Und jetzt muss ich daher kommen, die Zahl durch die gegeben Primzahlen teilen, solange durch eine, bis ein Rest entsteht, dann durch den n"achsten Primteiler. Ach, ich verstehe jetzt den Beweis, des Euklids noch besser. Schauen sie mal, er lautet kann niemals die Menge aller Primzahlen sein. Na ja. Also 2*7 + 1 = 15 Gut, demnach w"aren alle Primzahlen 2 und 7 Aber das sind nicht alle 5 und 3 sind es auch 5*3 = 15 Der Beweis des Euklids geht anders. Das bedeutet - entweder ist die Zahl eine Primzahl, womit die Menge aller Primzahlen nicht geufnden ist, oder sie l"asst sich in Primfaktoren zerlegen, die unterschiedlich von den anderen Primteilern sind - womit die Menge auch nicht endlich sit Aber demnach m"usste 2*3+1 = 7 2*3*5+1 = 31 2*3*5*7+1 = 2*3*5*7*11+1 2*3*5*7*11*13+1 Das m"ussten alles Primzahlen sein, weil die Menge der Primzahlen ist gefunden. Das heisst, der Beweis ging so - entweder ist die Zahl eine Primzahl oder sie besteht aus Primfaktoren, deren Teiler nicht alle Primzahlen sind, sondern Primzahlen "die wir ausgelassen" haben. Aber woher kommt die 19 3*3*3 + 1 = 19, da habe ich Schwachsinn gerechnet, das ist falsch Aber 2*3*3 m"usste das heissen Ah, warten sie mal 2*2 +1 = 5 5*5*5*5*5 + 1= ??? Nein, aber 17. Das ist nicht klar 2*2*2*2 +1 = 16 + 1 = 17 OK, jetzt mache ich weiter. So, geht aber der Beweis des Euklid p1*p2*p3*...*pn + 1 Jede Zahl l"asst sich als Produkt von Primzahlen schreiben. Damit muss p1*p2*p3*...*pn + 1 entweder einen Primteiler unabh"angig von p1, p2, p3, ...., pn haben, oder selber eine Primzahl sein das heisst, wenn wir alle Primzahlen in der Reihe bisher miteiannder multiplizieren, und eine 1 addieren, erhalten wir eine neue Primzahl. So helle bin ich auch und schriftliches dividieren ist eine Frage der "Ubung.
// So, weit bin ich bisher, ich muss kurz was essen #include <stdio.h> #include <stdlib.h> #include <time.h> #define WORD (unsigned) 256 * 256 #define DOUBLE_WORD (unsigned) WORD * WORD #define QUAD_WORD DOUBLE_WORD * DOUBLE_WORD int main (void) { unsigned a; unsigned b; time_t t; int i; char as [17]; char bs [17]; srand ((unsigned) time (\&t)); a = rand () % (256*256); b = rand () % (256*256); for (i = 0; i < 16; i++) as [15-i] = '0' + ((a >> i) \& 0x01); for (i = 0; i < 16; i++) bs [15-i] = '0' + ((b >> i) \& 0x01); as [16] = 0; bs [16] = 0; printf ("1.) Rechne die Zahl in binaer Darstellung in eine Dezimale Darstellung umn"); printf ("%sb %udn", as, a); printf ("2.) Rechne die Zahl in dezimal darstellung in eine Binaerdarstellung umn"); printf ("%u %sn", b, bs); unsigned long int c; unsigned long int d; unsigned long int e; unsigned long int f; printf ("3.) Addiere die drei Zahlen schriftlichn"); d = (rand () % (WORD-1))+1; e = (rand () % (WORD-1))+1; f = (rand () % (WORD-1))+1; printf (" %16un", d); printf ("+%16un", e); printf ("+%16un", f); printf ("-----------------n"); printf (" %16un", c + d + e); printf ("4.) Subtrahiere die letzten drei Zahlen schriftlich von der ersten schriftlichn"); c = (rand () % (WORD-1))+1; d = (rand () % (WORD/4-1))+1; e = (rand () % (WORD/4-1))+1; f = (rand () % (WORD/4-1))+1; printf (" %16un", c); printf ("-%16un", d); printf ("-%16un", e); printf ("-%16un", f); printf ("-----------------n"); printf (" %16in", c - d - e -f); printf ("5.) Rechne die Zahl ins zweier komplement um, mit 8 Bit - und subtrahiere diese zahl von der ersten und rechne das Ergebnis nach dezimaln"); signed char g; signed char h; char gs [9]; char hs [9]; char ghs [9]; gs [8] = 0; hs [8] = 0; ghs [8] = 0; g = (rand () % 256); h = (rand () % 128)-128; for (i = 0; i < 8; i++) gs [7-i] = '0' + ((g >> i) \& 0x01); for (i = 0; i < 8; i++) hs [7-i] = '0' + ((h >> i) \& 0x01); for (i = 0; i < 8; i++) ghs [7-i] = '0' + (((g+h) >> i) \& 0x01); printf ("%i %i = %in", g, h, g+h); printf ("%s %s = %sn", gs, hs, ghs); c = (rand () % (DOUBLE_WORD-1))+1; d = (rand () % (WORD-1))+1; e = c/d; printf ("%u/%u = %un", c, d, e); return 0; }
david@laptop-peaq:~\$ ./binary2 1.) Rechne die Zahl in binaer Darstellung in eine Dezimale Darstellung um 0110010101100111b 25959d 2.) Rechne die Zahl in dezimal darstellung in eine Binaerdarstellung um 59109 1110011011100101 3.) Addiere die drei Zahlen schriftlich 65103 + 39843 + 34921 ----------------- 104946 4.) Subtrahiere die letzten drei Zahlen schriftlich von der ersten schriftlich 13118 - 1457 - 5128 - 15575 ----------------- -9042 5.) Rechne die Zahl ins zweier komplement um, mit 8 Bit - und subtrahiere diese zahl von der ersten und rechne das Ergebnis nach dezimal -34 -70 = -104 11011110 10111010 = 10011000 236224828/38722 = 6100 david@laptop-peaq:~\$ ./binary2 1.) Rechne die Zahl in binaer Darstellung in eine Dezimale Darstellung um 0100010100100110b 17702d 2.) Rechne die Zahl in dezimal darstellung in eine Binaerdarstellung um 43309 1010100100101101 3.) Addiere die drei Zahlen schriftlich 9890 + 32844 + 59058 ----------------- 42734 4.) Subtrahiere die letzten drei Zahlen schriftlich von der ersten schriftlich 24432 - 7663 - 10262 - 15923 ----------------- -9416 5.) Rechne die Zahl ins zweier komplement um, mit 8 Bit - und subtrahiere diese zahl von der ersten und rechne das Ergebnis nach dezimal 78 -66 = 12 01001110 10111110 = 00001100 1983631698/14920 = 132951 david@laptop-peaq:~\$ ./binary2 1.) Rechne die Zahl in binaer Darstellung in eine Dezimale Darstellung um 0000110001101010b 3178d 2.) Rechne die Zahl in dezimal darstellung in eine Binaerdarstellung um 30904 0111100010111000 3.) Addiere die drei Zahlen schriftlich 39595 + 16051 + 46017 ----------------- 55646 4.) Subtrahiere die letzten drei Zahlen schriftlich von der ersten schriftlich 58463 - 14732 - 9348 - 7470 ----------------- 26913 5.) Rechne die Zahl ins zweier komplement um, mit 8 Bit - und subtrahiere diese zahl von der ersten und rechne das Ergebnis nach dezimal -58 -20 = -78 11000110 11101100 = 10110010 1300666264/39177 = 33199 david@laptop-peaq:~\$
david@laptop-peaq:~\$ ./binary2 1.) Rechne die Zahl in binaer Darstellung in eine Dezimale Darstellung um 1001010011000100b 38084d 2.) Rechne die Zahl in dezimal darstellung in eine Binaerdarstellung um 1729 0000011011000001 3.) Addiere die drei Zahlen schriftlich 61125 + 41432 + 42303 ----------------- 102557 4.) Subtrahiere die letzten drei Zahlen schriftlich von der ersten schriftlich 8209 - 13930 - 9102 - 1030 ----------------- -15853 5.) Rechne die Zahl ins zweier komplement um, mit 8 Bit - und subtrahiere diese zahl von der ersten und rechne das Ergebnis nach dezimal -104 -69 = -173 10011000 10111011 = 01010011 6.) Multipliziere die zwei Zahlen schriftlich 1638696983*36317 = 1491478235 7.) Dividiere die zwei Zahlen schriftlich 399228399/34223 = 11665 8.) Errechne x Logarithmisch mit dem Taschenrechner 45346\^x = 1271700092 david@laptop-peaq:~\$
#include <stdio.h> #include <stdlib.h> #include <time.h> #define WORD (unsigned) 256 * 256 #define DOUBLE_WORD (unsigned) WORD * WORD #define QUAD_WORD DOUBLE_WORD * DOUBLE_WORD int main (void) { unsigned a; unsigned b; time_t t; int i; char as [17]; char bs [17]; srand ((unsigned) time (\&t)); a = rand () % (256*256); b = rand () % (256*256); for (i = 0; i < 16; i++) as [15-i] = '0' + ((a >> i) \& 0x01); for (i = 0; i < 16; i++) bs [15-i] = '0' + ((b >> i) \& 0x01); as [16] = 0; bs [16] = 0; printf ("1.) Rechne die Zahl in binaer Darstellung in eine Dezimale Darstellung umn"); printf ("%sb %udn", as, a); printf ("2.) Rechne die Zahl in dezimal darstellung in eine Binaerdarstellung umn"); printf ("%u %sn", b, bs); unsigned long int c; unsigned long int d; unsigned long int e; unsigned long int f; printf ("3.) Addiere die drei Zahlen schriftlichn"); d = (rand () % (WORD-1))+1; e = (rand () % (WORD-1))+1; f = (rand () % (WORD-1))+1; printf (" %16un", d); printf ("+%16un", e); printf ("+%16un", f); printf ("-----------------n"); printf (" %16un", c + d + e); printf ("4.) Subtrahiere die letzten drei Zahlen schriftlich von der ersten schriftlichn"); c = (rand () % (WORD-1))+1; d = (rand () % (WORD/4-1))+1; e = (rand () % (WORD/4-1))+1; f = (rand () % (WORD/4-1))+1; printf (" %16un", c); printf ("-%16un", d); printf ("-%16un", e); printf ("-%16un", f); printf ("-----------------n"); printf (" %16in", c - d - e -f); printf ("5.) Rechne die Zahl ins zweier komplement um, mit 8 Bit - und subtrahiere diese zahl von der ersten und rechne das Ergebnis nach dezimaln"); signed char g; signed char h; char gs [9]; char hs [9]; char ghs [9]; gs [8] = 0; hs [8] = 0; ghs [8] = 0; g = (rand () % 256); h = (rand () % 128)-128; for (i = 0; i < 8; i++) gs [7-i] = '0' + ((g >> i) \& 0x01); for (i = 0; i < 8; i++) hs [7-i] = '0' + ((h >> i) \& 0x01); for (i = 0; i < 8; i++) ghs [7-i] = '0' + (((g+h) >> i) \& 0x01); printf ("%i %i = %in", g, h, g+h); printf ("%s %s = %sn", gs, hs, ghs); printf ("6.) Multipliziere die zwei Zahlen schriftlichn"); c = (rand () % (DOUBLE_WORD-1))+1; d = (rand () % (WORD-1))+1; e = c*d; printf ("%u*%u = %un", c, d, e); printf ("7.) Dividiere die zwei Zahlen schriftlichn"); c = (rand () % (DOUBLE_WORD-1))+1; d = (rand () % (WORD-1))+1; e = c/d; printf ("%u/%u = %un", c, d, e); printf ("8.) Errechne x Logarithmisch mit dem Taschenrechnern"); c = (rand () % (DOUBLE_WORD-1))+1; d = (rand () % (WORD-1))+1; printf ("%u\^x = %un", d, c); return 0; }
Jetzt beginne ich.
1.) Rechne die Zahl in binaer Darstellung in eine Dezimale Darstellung um 1110010001111101b 58493d 1 2\^15 1 2\^14 1 2\^13 0 12 0 11 1 2\^10 0 9 0 8 0 7 1 2\^6 1 2\^5 1 2\^4 1 2\^3 1 2\^2 0 1 2\^0 b 1 2\^15 8219+8192+8219+8192 1 2\^14 8219+8192 1 2\^13 8192 1 2\^10 1024 1 2\^6 64 1 2\^5 32 1 2\^4 16 1 2\^3 8 1 2\^2 4 1 2\^0 1 b 8192 8192 1 ---- 16384 16384 16384 1 ----- 32768 1 43 4 42 8 38 39 16 30 1 32 24 3 64 22 6 18 1024 18 2 14 1 8192 14 9 1 8 5 16384 12 8 3 6 1 32768 6 + 4 3+7 1+2 1+3 --------- - 58493 58493d 2.) Rechne die Zahl in dezimal darstellung in eine Binaerdarstellung um 40172 1001110011101100 3.) Addiere die drei Zahlen schriftlich 24049 + 21423 + 16602 ----------------- 45472 4.) Subtrahiere die letzten drei Zahlen schriftlich von der ersten schriftlich 10154 - 2510 - 2050 - 15606 ----------------- -10012 5.) Rechne die Zahl ins zweier komplement um, mit 8 Bit - und subtrahiere diese zahl von der ersten und rechne das Ergebnis nach dezimal -99 -5 = -104 10011101 11111011 = 10011000 6.) Multipliziere die zwei Zahlen schriftlich 88054569*19508 = 4076580948 7.) Dividiere die zwei Zahlen schriftlich 658310531/45360 = 14513 8.) Errechne x Logarithmisch mit dem Taschenrechner 50362\^x = 671495079
Das war die erste Aufgabe, jetzt weiter.
Das ging jetzt wesentlich einfacher mit der Bin"arumrechnung, keine Ahnung, was ich da vorher gemacht habe, das war wohl einfach, war ich in Gedanken wohl wo anders 2.) Rechne die Zahl in dezimal darstellung in eine Binaerdarstellung um 40172 1001110011101100 40172/2 = 20086 Rest 0 20086/2 = 10043 Rest 0 10043/2 = 5021 Rest 1 5021/2 = 2510 Rest 1 2510/2 = 1255 Rest 0 1255/2 = 627 Rest 1 627/2 = 313 Rest 1 313/2 = 156 Rest 1 156/2 = 78 Rest 0 78/2 = 39 Rest 0 39/2 = 19 Rest 1 19/2 = 9 Rest 1 9/2 = 4 Rest 1 4/2 = 2 Rest 0 2/2 = 1 Rest 0 1/2 = 0 Rest 1 1001110011101100
So geht es richtig, kann mal passieren, der Tag war lang zu viele Automaten, das geht nat"urlich auch einfacher. Den Vorteil hat es, dass ich jetzt schriftlich dividieren kann, das war auch mal notwendig. Pech kann passieren. Schriftlich dividieren ist in jedem Fall wichtig 2.) Rechne die Zahl in dezimal darstellung in eine Binaerdarstellung um 40172 1001110011101100 40172/2 = 20086 Rest 0 20086/2 = 10043 Rest 0 10043/2 = 5021 Rest 1 5021/2 = 2510 Rest 1 2510/2 = 1255 Rest 0 1255/2 = 627 Rest 1 627/2 = 313 Rest 1 313/2 = 156 Rest 1 156/2 = 78 Rest 0 78/2 = 39 Rest 0 39/2 = 19 Rest 1 19/2 = 9 Rest 1 9/2 = 4 Rest 1 4/2 = 2 Rest 0 2/2 = 1 Rest 0 1/2 = 0 Rest 1 1001110011101100
1.) Rechne die Zahl in binaer Darstellung in eine Dezimale Darstellung um 1110010001111101b 58493d 1 2\^15 1 2\^14 1 2\^13 0 12 0 11 1 2\^10 0 9 0 8 0 7 1 2\^6 1 2\^5 1 2\^4 1 2\^3 1 2\^2 0 1 2\^0 b 1 2\^15 8219+8192+8219+8192 1 2\^14 8219+8192 1 2\^13 8192 1 2\^10 1024 1 2\^6 64 1 2\^5 32 1 2\^4 16 1 2\^3 8 1 2\^2 4 1 2\^0 1 b 8192 8192 1 ---- 16384 16384 16384 1 ----- 32768 1 43 4 42 8 38 39 16 30 1 32 24 3 64 22 6 18 1024 18 2 14 1 8192 14 9 1 8 5 16384 12 8 3 6 1 32768 6 + 4 3+7 1+2 1+3 --------- - 58493 58493d 2.) Rechne die Zahl in dezimal darstellung in eine Binaerdarstellung um 40172 1001110011101100 40172/2 = 20086 Rest 0 20086/2 = 10043 Rest 0 10043/2 = 5021 Rest 1 5021/2 = 2510 Rest 1 2510/2 = 1255 Rest 0 1255/2 = 627 Rest 1 627/2 = 313 Rest 1 313/2 = 156 Rest 1 156/2 = 78 Rest 0 78/2 = 39 Rest 0 39/2 = 19 Rest 1 19/2 = 9 Rest 1 9/2 = 4 Rest 1 4/2 = 2 Rest 0 2/2 = 1 Rest 0 1/2 = 0 Rest 1 1001110011101100 3.) Addiere die drei Zahlen schriftlich 24049 + 21423 + 16602 ----------------- 45472 4.) Subtrahiere die letzten drei Zahlen schriftlich von der ersten schriftlich 10154 - 2510 - 2050 - 15606 ----------------- -10012 5.) Rechne die Zahl ins zweier komplement um, mit 8 Bit - und subtrahiere diese zahl von der ersten und rechne das Ergebnis nach dezimal -99 -5 = -104 10011101 11111011 = 10011000 6.) Multipliziere die zwei Zahlen schriftlich 88054569*19508 = 4076580948 7.) Dividiere die zwei Zahlen schriftlich 658310531/45360 = 14513 8.) Errechne x Logarithmisch mit dem Taschenrechner 50362\^x = 671495079
Das liegt wahrscheinlich daran, weil die mich so gestresst haben und - wegen dem ganzen - und da soll noch mal einer sagen, Mathematik ist nicht gut, ich wäre sonst vielleicht nicht mehr runter gekommen.
Egal, ich mache weiter.
Da ist ein Fehler, im Programm, da wurde eine Zahl nicht addiert, sonst generell richtig.
Ja, Variable falsch benannt.
#include <stdio.h> #include <stdlib.h> #include <time.h> #define WORD (unsigned) 256 * 256 #define DOUBLE_WORD (unsigned) WORD * WORD #define QUAD_WORD DOUBLE_WORD * DOUBLE_WORD int main (void) { unsigned a; unsigned b; time_t t; int i; char as [17]; char bs [17]; srand ((unsigned) time (\&t)); a = rand () % (256*256); b = rand () % (256*256); for (i = 0; i < 16; i++) as [15-i] = '0' + ((a >> i) \& 0x01); for (i = 0; i < 16; i++) bs [15-i] = '0' + ((b >> i) \& 0x01); as [16] = 0; bs [16] = 0; printf ("1.) Rechne die Zahl in binaer Darstellung in eine Dezimale Darstellung umn"); printf ("%sb %udn", as, a); printf ("2.) Rechne die Zahl in dezimal darstellung in eine Binaerdarstellung umn"); printf ("%u %sn", b, bs); unsigned long int c; unsigned long int d; unsigned long int e; unsigned long int f; printf ("3.) Addiere die drei Zahlen schriftlichn"); d = (rand () % (WORD-1))+1; e = (rand () % (WORD-1))+1; f = (rand () % (WORD-1))+1; printf (" %16un", d); printf ("+%16un", e); printf ("+%16un", f); printf ("-----------------n"); printf (" %16un", d + e + f); printf ("4.) Subtrahiere die letzten drei Zahlen schriftlich von der ersten schriftlichn"); c = (rand () % (WORD-1))+1; d = (rand () % (WORD/4-1))+1; e = (rand () % (WORD/4-1))+1; f = (rand () % (WORD/4-1))+1; printf (" %16un", c); printf ("-%16un", d); printf ("-%16un", e); printf ("-%16un", f); printf ("-----------------n"); printf (" %16in", c - d - e -f); printf ("5.) Rechne die Zahl ins zweier komplement um, mit 8 Bit - und subtrahiere diese zahl von der ersten und rechne das Ergebnis nach dezimaln"); signed char g; signed char h; char gs [9]; char hs [9]; char ghs [9]; gs [8] = 0; hs [8] = 0; ghs [8] = 0; g = (rand () % 256); h = (rand () % 128)-128; for (i = 0; i < 8; i++) gs [7-i] = '0' + ((g >> i) \& 0x01); for (i = 0; i < 8; i++) hs [7-i] = '0' + ((h >> i) \& 0x01); for (i = 0; i < 8; i++) ghs [7-i] = '0' + (((g+h) >> i) \& 0x01); printf ("%i %i = %in", g, h, g+h); printf ("%s %s = %sn", gs, hs, ghs); printf ("6.) Multipliziere die zwei Zahlen schriftlichn"); c = (rand () % (DOUBLE_WORD-1))+1; d = (rand () % (WORD-1))+1; e = c*d; printf ("%u*%u = %un", c, d, e); printf ("7.) Dividiere die zwei Zahlen schriftlichn"); c = (rand () % (DOUBLE_WORD-1))+1; d = (rand () % (WORD-1))+1; e = c/d; printf ("%u/%u = %un", c, d, e); printf ("8.) Errechne x Logarithmisch mit dem Taschenrechnern"); c = (rand () % (DOUBLE_WORD-1))+1; d = (rand () % (WORD-1))+1; printf ("%u\^x = %un", d, c); return 0; }
1.) Rechne die Zahl in binaer Darstellung in eine Dezimale Darstellung um 1110010001111101b 58493d 1 2\^15 1 2\^14 1 2\^13 0 12 0 11 1 2\^10 0 9 0 8 0 7 1 2\^6 1 2\^5 1 2\^4 1 2\^3 1 2\^2 0 1 2\^0 b 1 2\^15 8219+8192+8219+8192 1 2\^14 8219+8192 1 2\^13 8192 1 2\^10 1024 1 2\^6 64 1 2\^5 32 1 2\^4 16 1 2\^3 8 1 2\^2 4 1 2\^0 1 b 8192 8192 1 ---- 16384 16384 16384 1 ----- 32768 1 43 4 42 8 38 39 16 30 1 32 24 3 64 22 6 18 1024 18 2 14 1 8192 14 9 1 8 5 16384 12 8 3 6 1 32768 6 + 4 3+7 1+2 1+3 --------- - 58493 58493d 2.) Rechne die Zahl in dezimal darstellung in eine Binaerdarstellung um 40172 1001110011101100 40172/2 = 20086 Rest 0 20086/2 = 10043 Rest 0 10043/2 = 5021 Rest 1 5021/2 = 2510 Rest 1 2510/2 = 1255 Rest 0 1255/2 = 627 Rest 1 627/2 = 313 Rest 1 313/2 = 156 Rest 1 156/2 = 78 Rest 0 78/2 = 39 Rest 0 39/2 = 19 Rest 1 19/2 = 9 Rest 1 9/2 = 4 Rest 1 4/2 = 2 Rest 0 2/2 = 1 Rest 0 1/2 = 0 Rest 1 1001110011101100 3.) Addiere die drei Zahlen schriftlich 24049 + 21423 + 16602 ----------------- 45472 24049 + 21423 + 16602 11 1 ----------------- 62074 4.) Subtrahiere die letzten drei Zahlen schriftlich von der ersten schriftlich 10154 - 2510 - 2050 - 15606 ----------------- -10012 5.) Rechne die Zahl ins zweier komplement um, mit 8 Bit - und subtrahiere diese zahl von der ersten und rechne das Ergebnis nach dezimal -99 -5 = -104 10011101 11111011 = 10011000 6.) Multipliziere die zwei Zahlen schriftlich 88054569*19508 = 4076580948 7.) Dividiere die zwei Zahlen schriftlich 658310531/45360 = 14513 8.) Errechne x Logarithmisch mit dem Taschenrechner 50362\^x = 671495079
3.) Addiere die drei Zahlen schriftlich 24049 + 21423 + 16602 ----------------- 45472 24049 + 21423 + 16602 11 1 ----------------- 62074
Ich habe was entdeckt Sehr gut 4.) Subtrahiere die letzten drei Zahlen schriftlich von der ersten schriftlich 10154 - 2510 - 2050 - 15606 ----------------- -10012 10154 - 2510 - 2050 - 15606 ----------------- + 2510 + 2050 + 15606 ----------------- 20166 -20166 10154 -20166 ---------- - (20166-10154) = - (10012)
166 88 1 --- 78
Also, schauen sie mal - das ist so Wenn ich 40 -50 Dann ist das -(50-40) Wenn ich 50 40 Habe ist es wie gewohnt.
Also, das ist klar, sie m"ussen aufpassen, dass die negative Zahl, also der subtrahend nicht vom betrag gr"osser ist wie der minuend Der Subtrahend muss kleiner sein, wie der Minuend, dann k"onnen wir normal die Differenz bilden Sonst, m"ussen wir das Prinzip umkehren und negativ machen gut - und an der Stelle muss ich ein paar Begriffe lernen
37 28 1 --- 09 28+9 = 37 28 -37 1 --- -09 -(37-28) -9 Nein, irgendwas stimmt da nicht und wie ich vermutet habe, kam meine Meldung zu fr"uh. Das stimmte so nicht. Aber, etwas stimmt nicht.
Ich weiss nicht, was das Problem ist, ich brauche kurz einen Moment, stelle das aber vor. Also
4.) Subtrahiere die letzten drei Zahlen schriftlich von der ersten schriftlich 10154 - 2510 - 2050 - 15606 ----------------- -10012 10154 - 2510 - 2050 - 15606 ----------------- + 2510 + 2050 + 15606 ----------------- 20166 -20166 10154 -20166 ---------- - (20166-10154) = - (10012) [code] [code] Wenn ich 10154 - 2510 - 2050 - 15606 ----------------- -10012 Dann m"usste ich ja rechnen 14 6 sind 8. W"urde ich sage 14 -6 sind 8 "ubertrage 1. Ich mache mal den Gegenversuch. Ich streiche mal vorne die 1 bei der 15606 10154 - 2510 - 2050 - 5606 ----------------- Also, hier ist es offensichtlich, ich habe gerechnet, mit dem Taschenrechner, weil, ich habe die 1 weggelassen, jetzt waren wir immer noch im negativen Ich habe gerechnet 10154 - 1510 - 1050 - 2606 ----------------- Da kommt raus: 4988 - das deckt sich ja, mit dem was wir dachten. Die 6 erg"anzt sich "uber die 8 zur 14
Na ja, sagen wir mal so, ich habe schon recht, wenn ich 14-16 habe, dann ist das -(16-14) = -2 Umgekehrt: 14 16 --- 08 Also, ich hatte wahrscheinlich doch recht. Der Minuend muss doch gr"osser sein, als der Subtrahend. Ich hatte wahrscheinlich recht. Wir m"ussten das auch noch beweisen Das sind keine Aber ich hatte wahrscheinlich recht und gerade eben einen Fehler gemacht. ich mache das noch mal
Da habe ich wahrscheinlich im letzten Moment gerade scheisse gelabert. Also einen Moment 14 -16 Da bin ich zur alten Manier zur"uckgekehrt: 14 -16 ---- 8 Also das stimmt nicht Aber 16 -14 Das stimmt Jetzt machen wir 144 - 16 1 ----- 128 Das stimmt. Also, ich habe wahrscheinlich wo ich gesagt, habe ich habe mich vertan, mich doch nicht vertan, sondern bin zur alten Manier zur"uckgekehrt. Ich gucke mir das noch mal an Das ist so - dass wahrscheinlich der Substrahend kleiner sein muss wie der Minuend.
Ach, so, ja, ja, ich habe hier den dummen Fehler gemacht, dass ich normal gerechnet habe, also so wie man muss. Deswegen dachte ich kurz. Es stimmte wohl doch Ich habe gemacht 37 28 1 --- 09 28+9 = 37 28 -37 1 --- -09 -(37-28) -9 28 -37 0 ---- 11 Nein, jetzt ist Chaos ausgebrochen
Ach, so, ja, ja, ich habe hier den dummen Fehler gemacht, dass ich normal gerechnet habe, also so wie man muss. Deswegen dachte ich kurz. Es stimmte wohl doch Ich habe gemacht 37 28 1 --- 09 28+9 = 37 28 -37 1 --- -09 -(37-28) -9 28 -37 0 ---- 11 Nein, jetzt ist Chaos ausgebrochen
Trotzdem habe ich recht, das m"ussen wir untersuchen, weil: Zum Beispiel 4.) Subtrahiere die letzten drei Zahlen schriftlich von der ersten schriftlich 10154 - 2510 - 2050 - 15606 ----------------- -10012 10154 - 2510 - 2050 - 15606 ----------------- + 2510 + 2050 + 15606 ----------------- 20166 -20166 10154 -20166 ---------- - (20166-10154) = - (10012) [code] [code] Wenn ich 10154 - 2510 - 2050 - 15606 ----------------- -10012 Dann m"usste ich ja rechnen 14 6 sind 8. W"urde ich sage 14 -6 sind 8 "ubertrage 1. Ich mache mal den Gegenversuch. Ich streiche mal vorne die 1 bei der 15606 10154 - 2510 - 2050 - 5606 ----------------- Also, hier ist es offensichtlich, ich habe gerechnet, mit dem Taschenrechner, weil, ich habe die 1 weggelassen, jetzt waren wir immer noch im negativen Ich habe gerechnet 10154 - 1510 - 1050 - 2606 ----------------- Da kommt raus: 4988 - das deckt sich ja, mit dem was wir dachten. Die 6 erg"anzt sich "uber die 8 zur 14
Sie sehen hier ganz klar 4.) Subtrahiere die letzten drei Zahlen schriftlich von der ersten schriftlich 10154 - 2510 - 2050 - 15606 ----------------- -10012 10154 - 2510 - 2050 - 15606 ----------------- + 2510 + 2050 + 15606 ----------------- 20166 -20166 10154 -20166 ---------- - (20166-10154) = - (10012) [code] [code] Wenn ich 10154 - 2510 - 2050 - 15606 ----------------- -10012 Dann m"usste ich ja rechnen 14 6 sind 8. W"urde ich sage 14 -6 sind 8 "ubertrage 1. Ich mache mal den Gegenversuch. Ich streiche mal vorne die 1 bei der 15606 10154 - 2510 - 2050 - 5606 ----------------- Also, hier ist es offensichtlich, ich habe gerechnet, mit dem Taschenrechner, weil, ich habe die 1 weggelassen, jetzt waren wir immer noch im negativen Ich habe gerechnet 10154 - 1510 - 1050 - 2606 ----------------- Da kommt raus: 4988 - das deckt sich ja, mit dem was wir dachten. Die 6 erg"anzt sich "uber die 8 zur 14
10154 - 1510 - 1050 - 2606 wenn ich so w"ahle, wie gewohnt, mit einer 8 am Ende, wenn gr"osser, dann nicht. Also einen Moment.
Jetzt machen wir mal 377 -1599 1 11 ------ 0778 Mein Taschenrechner sagt 377 - 1599 ist -1222 Gut, jetzt machen wir 100377 - 1599 1 1 11 ----------- 98778 Der Taschenrechner sagt dassselbe, Der Taschenrechner sagt 98778
38 37 --- 01 8 37 --- 37-8 = 9 Und jetzt mache ich 37 8 1 --- 29 7 8 --- -1 Also, es stimmt doch. Und wenn ich 37 39 --- 39-37 = -2 Hier m"usste ich das umdrehen Und wenn ich 137 39 1 ---- 98 Hier stimmt das Also, es sieht so aus, trotz aller wirrungen jetzt, der Subtrahend muss kleiner wie der Minuend sein
Doch jetzt man sieht das ganz klar, das war jetzt ein bisschen durcheinander. Ich habe ein Beispiel 1 -2 = 1 Und nach dem "ublichen Regeln der Subtraktion habe ich 1 -2 1 --- 9 Gut, und jetzt mache ich aber 11 - 2 1 ---- 09 Also, hier sieht man es ganz klar.
Ich bin jetzt wohl durch die Aufregung durcheinander gekommen. Also 1 -2 Nach der normalen Schriftlichen macht man Ergebnis 9. In jedem Fall falsch. Aber bei 11 -2 sind es 9. das ist richtig. Also, ich werde das beweisen, der Subtrahend muss kleiner dem Minuenden sein.