Difference between revisions of "Not"

From Free Pascal wiki
Jump to navigationJump to search
(c)
(Use wiki standard heading level: start with level 2. Added links to see also)
Line 3: Line 3:
 
<br>
 
<br>
 
__TOC__
 
__TOC__
= Boolean operation =
+
== Boolean operation ==
  
 
'''Not''' produces a value of [[True|true]] if original value is [[False|false]].
 
'''Not''' produces a value of [[True|true]] if original value is [[False|false]].
  
== Truth table ==
+
=== Truth table ===
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 21: Line 21:
  
  
= Bitwise operation =
+
== Bitwise operation ==
  
 
Bitwise '''not''' sets the bit to 1 if corresponding bit is 0, and to 0 if bit is 1.
 
Bitwise '''not''' sets the bit to 1 if corresponding bit is 0, and to 0 if bit is 1.
  
== Ones' complement ==
+
=== Ones' complement ===
  
 
<syntaxhighlight>
 
<syntaxhighlight>
Line 46: Line 46:
  
  
== Read more ==
+
== See also ==
 +
* [[And]]
 +
* [[Not]]
 
* [[Shl]]
 
* [[Shl]]
 
* [[Const]]
 
* [[Const]]
Line 53: Line 55:
 
* [[Shortint]]
 
* [[Shortint]]
 
* [[Shl#Clear_a_bit| Clear_a_bit]] (bitwise example)
 
* [[Shl#Clear_a_bit| Clear_a_bit]] (bitwise example)
 +
* [[Bit manipulation]]
  
 
[[Category:Pascal]]
 
[[Category:Pascal]]

Revision as of 14:25, 5 May 2014

Deutsch (de) English (en) suomi (fi) français (fr) русский (ru)


Boolean operation

Not produces a value of true if original value is false.

Truth table

A Not A
  false     true
  true     false  


Bitwise operation

Bitwise not sets the bit to 1 if corresponding bit is 0, and to 0 if bit is 1.

Ones' complement

 function OnesComplement ( const aValue : byte ): byte;
 begin
   result := Not AValue;
 end;

If you call OnesComplement(%10000000) then get %01111111 (%10000000 = 128 and %01111111 = 127). If you call OnesComplement(%00000111) then get 248 (248 = %11111000).


 function OnesComplement2 ( const aValue : shortint ): shortint;
 begin
   result := Not AValue;
 end;

If you call OnesComplement2(%00000010) then get %11111101 (%00000010 = 2 and %11111101 = -3 when type is shortint). If you call OnesComplement2(7) then get -8 (-8 = %11111000 when type is shortint and 7 = %00000111 ).


See also