Sign in Join
Wiki copytemporary

Not/ru: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1-\
2-\
3-
41## Логическая операция
52
63Логическая операция **Not** выдает значение [[True/ru|true]] если значение равно [[False/ru|false]].
74
85### Таблица истинности
96
107| A | Not A |
118|-----------|-----------|
129|   false   |   true |
1310|   true   |   false   |
1411
1512## Побитовая операция
1613
1714Побитовая операция **not** устанавливает бит в 1 если соответствующий бит операнда равен 0, и в 0 если бит равен 1.
1815
1916### Единичное дополнение
2017
2118``` pascal
2219 function OnesComplement ( const aValue : byte ): byte;
2320 begin
2421 result := Not AValue;
2522 end;
2623```
2724
2825Если вы вызовете OnesComplement([[Percent sign/ru|%]]10000000), то получите %01111111 (%10000000 = 128 и %01111111 = 127). Если вы вызовете OnesComplement(%00000111), то результатом будет 248 (248 = %11111000).
2926
3027``` pascal
3128 function OnesComplement2 ( const aValue : shortint ): shortint;
3229 begin
3330 result := Not AValue;
3431 end;
3532```
3633
3734Если вы вызовете OnesComplement2(%00000010), то получится %11111101 (%00000010 = 2 и %11111101 = -3, когда [[Type/ru|тип]] операнда shortint). Если вы вызовете OnesComplement2(7), то получите -8 (-8 = %11111000, когда тип операнда shortint и 7 = %00000111 ).
3835
3936## См. также
4037
4138- [[And/ru|And]]
4239- [[Shl/ru|Shl]]
4340- [[Const/ru|Const]]
4441- [[Function/ru|Function]]
4542- [[Byte/ru|Byte]]
4643- [[Shortint/ru|Shortint]]
4744- [[Shl|Clear_a_bit]] (bitwise example)
4845- [[Bit manipulation/ru|Bit manipulation]]
4946
5047---
5148*From the Free Pascal wiki, page "Not/ru", as it stood on 2020-02-21 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history