Forum
Tipps
News
Menu-Icon

C: Bits verschieben...kann mir dass einer erklären?

 

Zitat
#include <stdio.h>

main()
{
   int a = 1024,i,b;
   printf("Speicherbedarf von a: %d Byte.\n",sizeof(a));
   for (i=0;i<12;i++)
      {b=a>>i;
   printf("%d ",b);
      }
   printf("\n");a=10;
   for(i=0;i<10;i++){
      b=a<<i;
      printf("%d ",b);
      }
   return 0;
}

Also das ist der Quellcode...
kann mir einer erklären was der macht bzw wofür das gut sen soll.
Und was soll mir die Ausgabe des Programms zeigen?

 
Zitat
Speicherbedarf a: 4 Byte.
1024 512 256 128 64 32 16 8 4 2 1 0
10 20 40 80 160 320 640 1280 2560 5120

Hoffe ihr könnt mir da helfen ???
Viele dank

Antworten zu C: Bits verschieben...kann mir dass einer erklären?:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Keine Ahnung. Soll wahrscheinlich demonstrieren, dass man mit Schiebeoperationen auch multiplizieren/dividieren kann, d.h. a>>1 ist effektiv a/2 und a<<1 ist a*2.
Das ist son alter Bauerntrick, hat man früher gerne gemacht, weil Schiebeoperationen deutlich billiger (von der Laufzeit/Rechenbedarf) sind als Multiplikation/Division. Heute darf man davon ausgehen, dass alle halbwegs vernünftigen Compiler das eh so optimieren.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ahh...ok...Danke. jetzt hab ichs auch verstanden :D


« Java: wie kann ich ein UML Diagramm mit eclipse erstelln?Zeitfunktion_00019 »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Quellcode
Ein Quellcode, auch als Quelltext bekannt, bezeichnet den unkompilierten Programm-Code einer Software. Quell- oder Programm-Code ist der auch für Menschen lesbare Co...

Byte
Der Begriff Byte (auch selten Oktett genannt) bezeichnet einen Mengenbegriff, beziehungsweise eine Maßeinheit, in der Digitaltechnik und Informatik. Diese steht mei...

Gigabyte
Ein Gigabyte ist eine Speichereinheit aus dem Computerbereich: In Gigabyte (abgekürzt: GB) wird die Größe von Festplatten, Speicherkarten, USB-Sticks oder...