| Autor | Beitrag | 
| Dingo 
          Beiträge: 64
 Erhaltene Danke: 1
 
 
 
 
 | 
Verfasst: Mo 10.04.17 09:13 
 
Grüße!
 Ich quäle mich gerade mit dem Verständniss der Bitberechnung herum - tolles Thema!^^
 Habe da soeben eine Aufgabe die ich 0 verstehe. Geht um folgendes:
 "Enthällt 12345 den Faktor 2hoch3?" 
 12345 & 8 
 Antwort: 8
 "Enthällt 12345 den Faktor 2hoch9?" 
 12345 & 32
 Antwort 0
 "Enthällt 12345 den Faktor 2hoch13?" 
 12345 & 8192
 Antwort: 8192
 Kann mir jemand mal erklären was die Aufgabe bewirkt bzw. wie man auf diese Ergebnisse kommt?
 Denn wo ist 12345 eine Zweierpotenz von 8?
 8 * 2 = 16
 16 * 2 = 32
 32 * 2 = 64
 64 * 2 = 128
 128 * 2 = 256
 256 * 2 = 512
 512 * 2 = 1024
 1024 * 2 = 2048
 2048 * 2 = 4096
 4096 * 2 = 8192
 8192 * 2 = 16384
 Oder verhau ich hier gerade was komplett. -,-Moderiert von  Narses: Topic aus C# - Die Sprache verschoben am Mo 10.04.2017 um 14:21 | 
|  | 
| hydemarie 
          Beiträge: 482
 Erhaltene Danke: 51
 
 
 
 
 | 
Verfasst: Mo 10.04.17 09:24 
 
Auf eine Ja-Nein-Frage mit einer Zahl zu antworten halte ich im Allgemeinen für eher falsch.
 Ansonsten geht es um Binärcode, nicht um Dezimalmultiplikation, wenn ich das so weit richtig verstehe.   de.wikipedia.org/wik...tweiser_Operator#UND | 
|  | 
| Ralf Jansen 
          Beiträge: 4708
 Erhaltene Danke: 991
 
 
 VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
 
 | 
Verfasst: Mo 10.04.17 10:03 
 
Wenn du Dezimaldarstellung der Werte in Binär änderst und dann bitweises UND darauf anwendest (Das ist die Bedeutung von &, es ist der binäre UND Operator) erhältst du die passende Antwort.
 		                       Quelltext 
 									| 1:2:
 3:
 4:
 
 |    11000000111001   (12345)&  00000000001000   (8)
 --------------
 00000000001000 = (8)
 |  Die Stellen als Faktoren zu bezeichnen finde ich allerdings auch unglücklich/verwirrend. Kann aber auch an unzureichender mathematischer Bildung meinerseits liegen. | 
|  | 
| hydemarie 
          Beiträge: 482
 Erhaltene Danke: 51
 
 
 
 
 | 
Verfasst: Mo 10.04.17 10:22 
 
Das löst aber die Frage nicht, denn ein bitweises UND kannst du auf alles anwenden, die Antwort lautete also immer "Ja". | 
|  | 
| Dingo  
          Beiträge: 64
 Erhaltene Danke: 1
 
 
 
 
 | 
Verfasst: Mo 10.04.17 10:43 
 
Also die Antwort laut Buch wäre: 
 "Die Zahl 12345 enthält also die Zweierpotenzen 8 (2hoch3) und 8192 (2hoch13), nicht aber 512 (2hoch9)."
 
 Ich finds auch etwas merkwürdig, wie man eine Ja/Nein Frage mit einer Zahl beantwortet...^^"
 
 Zuletzt bearbeitet von Dingo am Mo 10.04.17 11:06, insgesamt 1-mal bearbeitet
 | 
|  | 
| hydemarie 
          Beiträge: 482
 Erhaltene Danke: 51
 
 
 
 
 | 
Verfasst: Mo 10.04.17 10:52 
 
Im Buch steht "enthällt" mit Doppel-L? Was für ein furchtbares Buch.     	  | Zitat: |  	  | nicht aber 512 (2hoch9) | 
 Is' richtig:
 		                       Quelltext 
 									| 1:2:
 3:
 4:
 
 | 11000000111001 &00001000000000 =
 ----------------
 00000000000000
 |  Da passt kein Bit.
 Nachtrag: Die nächste Stufe wäre es übrigens, das nur anhand der Binärdarstellung von 12345 ohne dieses grundschulmäßige Untereinanderschreiben rauszufinden. Bei 2^x ist das erfreulich einfach.
 Beispiel 2^9: Ist die 9+1te Stelle von rechts eine 1?   | 
|  | 
| Dingo  
          Beiträge: 64
 Erhaltene Danke: 1
 
 
 
 
 | 
Verfasst: Mo 10.04.17 11:07 
 
Ich glaub jetzt versteh ichs langsam.^^ | 
|  | 
| hydemarie 
          Beiträge: 482
 Erhaltene Danke: 51
 
 
 
 
 | 
Verfasst: Mo 10.04.17 11:10 
 
Echt? Ich nämlich nicht...    | 
|  | 
| Dingo  
          Beiträge: 64
 Erhaltene Danke: 1
 
 
 
 
 | 
Verfasst: Mo 10.04.17 13:02 
 
Es wird Bitweise der & Operator genutzt und dann vergleichen.   Beispiel an 12345 und 8: 		                       C#-Quelltext 
 									| 1:2:
 3:
 4:
 
 | 11000000111001   (12345)00000000001000   (8)
 --------------
 00000000001000
 |  Mit &-Operator bedeutet es:
 0 und 0 ergibt  0
 0 und 1 ergibt  0
 1 und 0 ergibt  0
 1 und 1 ergibt  1
 Wenn man also 12345 und 8 Gegenüberstellt und Bitweise vergleicht kommt die 8 als Zweierpotenz vor.
 ###########################################################
Beispiel an 12345 und 512: 		                       C#-Quelltext 
 									| 1:2:
 3:
 4:
 
 | 11000000111001   (12345)00001000000000   (512)
 --------------
 00000000000000
 |  Hier am Beispiel 512 wird wieder jede 0 und 1 mit der darunterliegenden vergleichen und wieder gilt:
 0 und 0 ergibt  0
 0 und 1 ergibt  0
 1 und 0 ergibt  0
 1 und 1 ergibt  1
 Im Endergebnis sieht man, die 512 kommt nicht in der 12345 vor. | 
|  | 
| hydemarie 
          Beiträge: 482
 Erhaltene Danke: 51
 
 
 
 
 | 
Verfasst: Mo 10.04.17 13:06 
 
Wer's erklären kann, hat's verstanden. (Sofern seine Erklärung stimmt.)    | 
|  | 
| Dingo  
          Beiträge: 64
 Erhaltene Danke: 1
 
 
 
 
 | 
Verfasst: Mo 10.04.17 13:22 
 
Ist meine Antwort falsch?   | 
|  | 
| Nersgatt 
          Beiträge: 1581
 Erhaltene Danke: 279
 
 
 Delphi 10 Seattle Prof.
 
 | 
Verfasst: Mo 10.04.17 13:29 
 
Vereinfacht gesagt, kann man sagen, mit dem &-Operator kann man prüfen, ob ein (oder mehrere) Bits gesetzt sind.
 Die Bits, die man abfragen möchte, ist die Maske.
 Ich möchte wissen, ob das 2. Bit gesetzt ist.
 Zu prüfende Zahl:
 1100 0010
 Maske (hier zu prüfende Bits setzen)
 0000 0010
 Ergibt
 		                       Quelltext 
 									| 1:2:
 3:
 4:
 
 |   1100 0010& 0000 0010
 -----------
 0000 0010
 |  Allgemein
 Wenn x & maske = maske, dann sind alle Bits, die in der Maske gesetzt sind, auch in x gesetzt._________________ Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi) | 
|  | 
| jaenicke 
          Beiträge: 19326
 Erhaltene Danke: 1749
 
 W11 x64 (Chrome, Edge)
 Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
 
 | 
Verfasst: Mo 10.04.17 13:35 
 | 
|  | 
| Narses 
          
  Beiträge: 10183
 Erhaltene Danke: 1256
 
 W10ent
 TP3 .. D7pro .. D10.2CE
 
 | 
Verfasst: Mo 10.04.17 13:36 
 
Moin!
 	  |  Dingo hat folgendes geschrieben  : |  	  | Ich quäle mich gerade mit dem Verständniss der Bitberechnung herum | 
 Damit würde ich mich auch rumquälen, denn "Bits" kann man nämlich nicht "berechnen"... die sind 0 oder 1, fertig.    Wenn man mehrere davon zusammenfasst und diesen eine Bedeutung zuweist, dann können wir auch mit dem Rechnen anfangen.    	  |  Dingo hat folgendes geschrieben  : |  	  | tolles Thema!^^ | 
 Allerdings!    (ernst gemeint!)
 	  |  Dingo hat folgendes geschrieben  : |  	  | Habe da soeben eine Aufgabe die ich 0 verstehe. | 
 Dann schreiben wir das doch mal etwas anders auf, dann wird das auch sofort verständlich.    	  |  Dingo hat folgendes geschrieben  : |  	  | "Enthällt 12345 den Faktor 2hoch3?" | 
 Bevor wir das tun, muss ich allerdings nochmal über das Buch ablästern (von dem Typo mal ganz abgesehen): wer schon "Faktoren" mit "Summanden" verwechselt, sollte besser keine Bücher schreiben...    12345 ist die "Kurzschreibweise" von:
 1*10^4 + 2*10^3 + 3*10^2 + 4*10^1 + 5*10^0    Wenn man das jetzt aber nicht zur Basis 10, sondern zur Basis 2 haben möchte (weil Computer nun mal mit Zweierpotenzen besser "funktionieren"), dann ergibt das:
 11000000111001 und das ist die "Kurzschreibweise" für:
 1*2^13 +
 1*2^12 +
 0*2^11 +
 0*2^10 +
 0*2^9 +
 0*2^8 +
 0*2^7 +
 0*2^6 +
 1*2^5 +
 1*2^4 +
1*2^3 +    <-- 2^3=8 ist in der Summe enthalten 0*2^2 +
 0*2^1 +
 1*2^0
 Damit sollten sich die restlichen "Fragen" auch leicht "lösen" lassen.    cu
 Narses_________________ There are 10 types of people - those who understand binary and those who don´t.
 Für diesen Beitrag haben gedankt: hydemarie
 | 
|  | 
| hydemarie 
          Beiträge: 482
 Erhaltene Danke: 51
 
 
 
 
 | 
Verfasst: Mo 10.04.17 13:43 
 
Nicht unbedingt!	  |  Narses hat folgendes geschrieben  : |  	  | "Bits" kann man nämlich nicht "berechnen"... die sind 0 oder 1, fertig.  | 
 | 
|  | 
| Narses 
          
  Beiträge: 10183
 Erhaltene Danke: 1256
 
 W10ent
 TP3 .. D7pro .. D10.2CE
 
 | 
Verfasst: Mo 10.04.17 13:50 
 
Sorry, vergiss mal kurz die Farbe meines Namens und die Funktion dahinter, aber das muss jetzt raus:
 Vernünftig erklären kannste´s nicht, aber klugscheißen geht immer.  _________________ There are 10 types of people - those who understand binary and those who don´t.
 Für diesen Beitrag haben gedankt: icho2099, user32
 | 
|  | 
| hydemarie 
          Beiträge: 482
 Erhaltene Danke: 51
 
 
 
 
 | 
Verfasst: Mo 10.04.17 13:57 
 
Sorry, vergiss mal kurz die Farbe meines Namens und die Funktion dahinter, aber das muss jetzt raus:
 Lieber gar nicht erklären als falsch erklären.   Nachtrag: Den Vorwurf, ich würde etwas "nicht vernünftig erklären", empfinde ich als Affront. Dingo hat's nach eigener Aussage verstanden, bevor du dich hier überhaupt eingemischt konstruktiv eingebracht  hast. | 
|  |