En logiko, la logika neo (esprimita per ne) estas unuargumenta logika operacio, kiu nur rezultigas veran frazon, se ĝia argumento estas falsa.
La operacio estadas skribita per signo ! (krisigno, por plena logiko) aŭ per signo ~ (tildo, por laŭbita logiko) aŭ per signo ¬ (kodo deksesuma AC en unikodo, ¬ en HTML).
Tia operacio nomiĝas ankaǔ negacio.
Ĝia vertabelo do estas (uzataj valoroj estas mallongigoj de Vera kaj Falsa):
A | ne A |
---|---|
F | V |
V | F |
La alia maniero de skribo de la sama vertabelo estas per uzo de nombro 1 por Vera kaj 0 por Falsa:
A | ne A |
---|---|
0 | 1 |
1 | 0 |
Laŭbita logika neo same operacias por ĉiu bito de nombro kaj produktas la rezultan nombron. Ekzemple (la nombroj estas deksesumaj) ~0x567F = 0xA980.
En programlingvoj (C, C++) pro laŭbita logika neo estas uzata signo ~ kaj por plena logika neo estas uzata signo '!'.
Por sensignaj nombroj, la laŭbita neo dependas de reala kvanto de bitoj, uzataj por konservi nombron, ĉar la kvanto de la plej signifaj ciferoj ne gravas se ili ĉiuj estas nulaj, sed post la logiko neo ili estas jam ne nulaj.
Ekzemple, por 16-bitaj kaj 32-bitaj nombroj:
- ~0x567F = 0xA980
- ~0x0000567F = 0xFFFFA980
Por sensignaj nombroj, la logika neo estas la samo kiel subtraho de la nombro el maksimuma nombro, kiu povas esti priskribita:
- ~a = nmax-a.
- kie nmax estas la maksimuma nombro, fakte la maksimuma nombro mem estas logika neo de nulo:
- nmax=~0
Ekzemple, por 32-bitaj nombroj:
- ~0x000567F = 0xFFFFA980
- 0xFFFFFFFF-0x000567F = 0xFFFFA980
Por signaj nombroj, la logika neo estas la samo kiel aritmetika neo kaj poste subtraho de 1:
- ~a=-a-1
En elektroniko por logika neo estadas specialaj logikaj elementoj.