Hilfe und Anleitungen zum Computer, zum Netzwerk und zu Windows

Wissen

 

- Startseite

- Abkürzungen

- PC-Windows

- PC-Windows 7

- PC-Hilfe 2k & XP

- PC-Hilfe Windows 7

- PC-Technik

- PC-Netzwerk

- PC-Sicherheit

- PC-Software

- Programmierung

- DSL, DFÜ & Internet

- Bücher

- Webmaster Ecke

 

Sonstiges

 

- Impressum

- Kontakt

- Disclaimer

- Web-Infos

- Banner

 

Infos zu IT-Berufe

 

- IT-Ausbildung

- Tätigkeitsfelder

- Voraussetzungen

- Existenzgründung

- Elektrotechnik

 

Energiesparen spezial

 

 

 

 

 

 

Einführung in die Programmiersprache C

Seite 14 - Wahrheitstabelle mit Bit-Operatoren

UND-Verkn. Ergeb.  ODER-Verkn.  Ergeb.

0&0   0  0|0   0

0&1   0  0|1   1

1&0   0  1|0   1

1&1   1  1|1   1

 

Excl.ODER-Verkn. Ergeb.

0^0   0

0^1   1

1^0   1

1^1   0

 

 

Komplement  Ergeb.

~0   1

~1   0

 

 

Bsp. Unsigned char a,b,c;

 a=71;   0 1 0 0 0 1 1 1

 b=47;   0 0 1 0 1 1 1 1

 c=a&b   0 0 0 0 0 1 1 1

 c=a|b;   0 1 1 0 1 1 1 1

 c=a^b;   0 1 1 0 1 0 0 0

 c=~b;   1 1 0 1 0 0 0 0

 

Die Shift-Operatoren << und >> verschieben das Bitmuster ihres linken Operanden um eine bestimmte Anzahl von Bit-Positionen nach links bzw. rechts. Die Anzahl der Bit-Positionen bestimmt der Wert des rechten Operanden.

Beim Links-Shift (<<) werden 0-Bits von rechts her nachgeschoben. Die links herausgeschobenen Bits gehen verloren.

Bsp. Unsigned short a=0x0D11;

a<<=4;

Bitmuster: 0000 1101 0001 0001

       1101 0001 0001 0000 =0xD110

 

Beim Rechts-Shift (>>) werden von links her 0-Bits nachgeschoben, falls der linke Operand vom Typ unsigned oder einen nicht-negativen Wert hat. Andernfalls hängt es vom Compiler ab, ob mit 0-Bits (logischer Shift) oder mit Vorzeichen-Bits(arithmetischer Shift) aufgefüllt wird.

 

Das Ergebnis einer Shift-Operation ist undefiniert, wenn der Wert des rechten Operanden negativ ist oder gleich oder größer als die Länge des linken Operanden in Bits.

 

 

 

 

Bsp.:

a<<=-4;  undefiniert

short a;

a<<=28  undefiniert (short a = 16 Bit)

 

Shift-Operatoren ermöglichen die effiziente und schnelle Möglichkeit, Multiplikationen und Divisionen mit Zweierpotenzen durchzuführen. Die Verschiebung des Bitmusters um n Stellen nach links (rechts) entspricht einer Multiplikation (Division) mit 2n

Beispiel:

int a=17; Bitmuster: 0...0001 0001

a*=4   a=68

effektiver:  4 entspricht 22

a<<=2  Bitmuster 0... 0100 0100

int a=128;    0…1000 0000

a/=2 64

 

Kommentare

sie werden zwischen /* und */ geschrieben, können beliebig lang sein und an jeder Stelle des Programms stehen, an der auch Wortseparatoren stehen.

 

Weiterführende Beiträge:

- C - Programmierung - Aufbau eines Programms,
- C - Programmierung - Anweisungen,
- C - Programmierung - Konstanten,
- C - Programmierung - Variablen,
- C - Programmierung - Operatoren,
- C - Programmierung - Manipulations Operatoren,
- C - Programmierung - Elementare Datentypen,
- C - Programmierung - Datentypen S2,
- C - Programmierung - Zuweisungen,
- C - Programmierung - Inkremente / Dekremente,
- C - Programmierung - Operatoren,
- C - Programmierung - Wahrheitstafel,
- C - Programmierung - Wahrheitstabelle,

 

Werbung

Weiter nützliche Informationen rund um den Computer und Windows

[ C - Programmierung - Aufbau eines Programms ]
[ C - Programmierung - Anweisungen ]
[ C - Programmierung - Konstanten ]
[ C - Programmierung - Variablen ]
[ C - Programmierung - Operatoren ]
[ C - Programmierung - Manipulations Operatoren ]
[ C - Programmierung - Elementare Datentypen ]
[ C - Programmierung - Datentypen S2 ]
[ C - Programmierung - Zuweisungen ]
[ C - Programmierung - Inkremente / Dekremente ]
[ C - Programmierung - Operatoren ]
[ C - Programmierung - Wahrheitstafel ]
[ C - Programmierung - Wahrheitstabelle ]

 

 

 © 2003 - 16,  ITS05 & Screen4Dream,  Holger Külgen