CyberPress
közéleti magazin
cyberpress@sopron.hu
2024. május 15., szerda, Zsófia, Szonja napja


Irodalmi Kávéház

Intranet Galéria

Apróhirdetések

Képeslapok

Soproni Képindex

Polgármesteri Hivatal

ZÓNÁK
Főoldal
Lapszemle
  Lapszemle
Kultúra
  KultúrVáros
  Lélektől lélekig
  SzínházVilág
  Soproni Ünnepi Hetek
  Borváros
Regionális kulturális programajánló
  Színház
  Kiállítás
  Rendezvények
  Hangverseny-Zene
Cyber Kurír
  Hírek - események
  Szomszédvár - Régió
  Soproni Snassz
Európai Unió
  EU
Cyber hírek
  Közélet
  SopronMedia
  Városháza
  Sport
Szórakozás
  Fesztiválgájd
  HangFal
  Mi1más
  Diákélet - diákszáj
  ViccGödör
Gazdaság
  Kereskedelmi és Iparkamara
Sport - szabadidő
  Sportcentrum
  Száguldó Cirkusz
Tudomány-technika
  Űrvadász
  Egészség
Környezet
  Borostyán
  Egészség

Dr. Bit  

Programozzunk együtt!

BITezzünk!

C/C++ -ban is lehet variálni a biteket. Aki esetleg ismeri az ASSEMBLY-t is egy kissé, az tudja, hogy milyen bit-műveletekre van lehetőségünk:  

AND (ÉS)
OR (VAGY)
XOR (KIZÁRÓ VAGY)

C/C++-ban a következő jelöléseket használják az egyes műveletek elvégzésére:

Jelölés Művelet
& AND
| OR
^ XOR


Figyelem: Nem keverd össze a bit és logikai operátorokat! Az előbbiekből egyet, az utóbbiakból pedig kettőt kell kitenni!
A következő táblázatokból kitűnik, hogy hogyan változnak meg a bit értékek az egyes műveletekben:

Bit 1 Bit 2 AND
0 0 0
1 0 0
0 1 0
1 1 1

 

Bit 1 Bit 2 OR
0 0 0
1 0 1
0 1 1
1 1 1

 

Bit 1 Bit 2 XOR
0 0 0
1 0 1
0 1 1
1 1 0

Tehát a bit-operátorokat most áttekintettük röviden. Most joggal merül fel, hogy ezt mire is lehet használni? Egy példa: A xor-t fel lehet használni titkosításra: ha valamit xor-olunk, majd az eredményt újra xor-oljuk, akkor visszakapjuk az eredeti értéket.
Itt van egy egyszerű példa:

#include<stdio.h>
void main(void)
{
int x=63, y=49, temp;
printf("A ket ertek: 'x': %d, 'y': %dnn", x,y);
printf("'x'-et 'y'-al XOR-oljuk - erteke 'temp'-be kerul...nn");
temp=x^y;
printf("'temp': %dnn",temp);
printf("'temp'-et 'y'-al XOR-oljuk - erteke 'x'-be kerul...nn");
x=temp^y;
printf("Visszakaptuk az eredeti 'x'-et: %dnn",x);
}



2002. január 15., kedd 21:28


címlap zóna archívum




© 1999-2007, Internet Sopron Egyesület