Object Pascal - 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.not
Leírás
not par1
Bemenet
- par1 - Bármilyen egész szám
Kimenet
- Eredmény - Egész számok
Példaprogramok
Object Pascal
Bitenkénti 1-es komplemens lehetséges használata:x := not(32 shr 2); // x = -9
y := not x; // y = 8
z := not(x and 5) and y; // z = 8
Object Pascal
Plusz egy kis példa hogy mi minden helyzetben lehet használni a Bitenkénti 1-es komplemens műveletet:not i
not$abcd
not(i and 4)
Object Pascal
További példaprogram részletek:not 2
Megtalálható a következő gyűjteményekben: Bitműveleti operátorok
Bitenkénti 1-es komplemens más programozási nyelven:
Különbségek: