Bitweises Shift?
-
Habe da grad ein kleines Verständnisproblem anscheinend
#include <stdio.h> int main() { unsigned int onebit; onebit = 00010000; printf(" %i", onebit >> 1); getchar(); return 0; }
Wieso gibt mir das nicht 00001000 aus, sondern 2048?
Brauchen die Bit-Operatoren vielleicht einen anderen Datentyp? (Wollte eigentlich in meinem Programm dann mit unsigned long long int arbeiten)
-
printf interpretiert die Bits als Integer.
-
MichaelSa schrieb:
onebit = 00010000;
ist uebrigens eine oktalzahl (in dem fall 4096 dezimal), weil sie mit einer null beginnt.
c versteht nur dezimal-, oktal- und hexadezimalzahlen im quelltext.zahlensysteme und wo der unterschied zwischen zahlen und ihrer darstellung liegt:
http://de.wikipedia.org/wiki/Zahlensystembuch ueber c:
http://www.pronix.de/pronix-4.html