Bitenkénti 1-es komplemens: ~, not

Bitenkénti 1-s komplemens más néven bitenkénti negáló vagy tagadó művelet. A logikai negáció alapján műkodik, ha a bemenet 0 akkor az eredmény 1 és ha a bemenet 1 akkor az eredmény 0. Használható például bitek törlésénél, beállításánál a maszk egyszerűbb létrehozása érdekében. például be szeretnénk allítani egy változó összes bitjét az első 3 bit kívételével, akkor a bitenkénti VAGY-t fogjuk használni, itt szükségünk van egy maszkra ami 16bites változó esetén 65528-t, de a bitenkénti negáció használatával ezt egyszerűen helyettesíthetjük a 7 számmal. A gondolatmenet a következő az első 3 bit kivételével szeretnénk a biteket beállítani, ehhez olyan maszkra van szuksegünk ahol az első 3 bit nulla és a többi egyes, ennek az ellenkezője az első 3 bit egyes és a többi nulla, ezt a számot könyű fejben kiszámolni és aztán alkalmazni a bitenkénti tagadó műveletet és kész.

~

Leírás

~ par1
Használt kulcsszavak: ~

Bemenet


Kimenet

Kompatibilis programozási nyelvek:
C | Visual C++ .NET | C++ | C# | Java | JavaScript | PHP

Példaprogramok

Példaprogram

Bitenkénti 1-es komplemens lehetséges használata:
x = ~(32 >>2);       // x = -9
y = ~x;              // y = 8
z = ~(x & 5) & y;    // z = 8

Példaprogram

Plusz egy kis példa hogy mi minden helyzetben lehet használni a Bitenkénti 1-es komplemens műveletet:
~i
~0xabcd
~(i & 4)

Példaprogram

További példaprogram részletek:
~ 2

not

Leírás

not par1
Használt kulcsszavak: not

Bemenet


Kimenet

Kompatibilis programozási nyelvek:
Basic | Visual Basic .NET | FreeBASIC | Free Pascal | Object Pascal | Pascal

Példaprogramok

Basic

Plusz egy kis példa hogy mi minden helyzetben lehet használni a Bitenkénti 1-es komplemens műveletet:
not i
not&Habcd
not(i and 4)

Basic

További példaprogram részletek:
not a
not 2

Megtalálható a következő gyűjteményekben: Bitműveleti operátorok
Más nyelveken: en hu cz sk