Software Venture Consulting

FileMaker Pro downloads & Resources
FileMaker Custom Functions
FileMaker Web Viewer Examples
FileMaker Pro & Lasso Consulting
FileMaker Books
FileMaker Articles
FileMaker Error Reference

Free Web Tools
Free FileMaker Tools

Personal Pages

Shopping Cart
Shopping Cart


Free Newsletter


Privacy Policy

FileMaker is a registered trademark of FileMaker, Inc. in the U.S. and other countries.


 FileMaker Pro Custom Functions

List  |  Show Random  |  Upload  |  Add This to Your Site

BitOperation( BitNr ; RC ; OPC ; OP1 ; OP2 )

Rate this function:  

  Average rating: 4.1  (30 votes)
  Discuss this Custom Function

Erich Schmidt, none

bitwise logical operation

Sample Input:
BitOperation( 0 ; 0 ; 6 ; 145 ; 345)
BitOperation( 0 ; 0 ; 14 ; 5 ; 12)
BitOperation( 0 ; 0 ; 8 ; 5 ; 12)
Sample Output:

 Then copy & paste into FileMaker Advanced's Edit Custom Function window.

Click here to copy To Clip Manager if you have myFMbutler's Clip Manager installed


Function value is the result of any bitwise logical operation between the binary representation of the integer values OP1 and OP2. Only the 16 least significant bits are processed.
The operation is given by OPC, which can be any integer number from 0 to 15. OPC determines what operation is performed.

Requires other Custom Functions:

BitNr, RC these parameters must be set to 0 by the caller. Otherwise it leads to faulty results.
OP1; OP2 any integer values (numbers greater than 65,535 are possible, but
OPC can be any integer number from 0 to 15

OPC=0 is true, if OP1 AND NOT OP1 is true (never)
OPC=1 is true, if NOT (OP1 OR OP2) is true
OPC=2 is true, if NOT OP1 AND OP2 is true
OPC=3 is true, if NOT OP1 is true
OPC=4 is true, if OP1 AND NOT OP2 is true
OPC=5 is true, if NOT OP2 is true
OPC=6 is true, if OP1 XOR OP2 is true (exclusive or)
OPC=7 is true, if NOT (OP1 AND OP2) is true
OPC=8 is true, if OP1 AND OP2 is true (conjunction)
OPC=9 is true, if NOT ( OP1 XOR OP2) is true (equivalence)
OPC=10 is true, if OP2 is true
OPC=11 is true, if OP1 OR NOT OP2 is true
OPC=12 is true, if OP1 is true
OPC=13 is true, if OP1 OR NOT OP2 is true
OPC=14 is true, if OP1 OR OP2 is true (disjunction)
OPC=15 ist true, if OP1 OR NOT OP1 is true (always)

Some simple examples

Set bit 2 and bit 5 in OP1. All other bits leave unchanged.

BitOperation( 0 ; 0 ; 14 ; OP1 ; 2^2+2^5)

Toggle bit 0 , bit 3 and bit 12 in OP1. All other bits leave unchanged.

BitOperation( 0 ; 0 ; 6 ; OP1 ; 2^0+2^3+2^12)

Clear bits 8 and 9 in OP1. All other leave unchanged.

BitOperation( 0 ; 0 ; 4 ; OP1 ; 2^8+2^9)

Check, if one of bit 3 or 5 in OP1 is set.

It‘s true, if the expression BitOperation( 0 ; 0 ; 8 ; OP1 ; 2^3+2^5) is true (not 0).

Note: these functions are not guaranteed or supported by Please contact the individual developer with any questions or problems.

This is my Custom Function and I want to edit it


There are no comments yet. Be the first to post a comment about this Custom Function! Please try to keep it brief & to the point. Anyone can post:

Your Name:
characters left. If you paste in more than 1500 characters, it will be truncated. Discuss the function - advertisements and other useless posts will be deleted.
Answer 5 + 5 =
Search for Custom Functions:

Custom Functions Widget
Download the Custom Function Dashboard Widget for OS X
Keep all the latest Custom Functions right at your fingertips!

Newest Custom Functions:

1. Get_IndexAndCount ( TableName ; FieldName ; RecordSeparator )
  (Mon, Nov 28, 8:32pm)
2. SumXListValues ( numbers ; x ; start )
  (Mon, Nov 28, 6:48pm)
3. GetFoundList ( field ; start ; result )
  (Sat, Nov 26, 1:36am)
4. isRuntime ()
  (Tue, Nov 22, 3:14am)
5. Get_Index ( TableName ; FieldName ; RecordSeparator )
  (Tue, Nov 08, 11:52am)
6. RemoveCalcGlobal(TXTLIST ; RTXTLIST)
  (Mon, Nov 07, 12:45pm)
7. BinaryToDecimal ( Binary ; Blank )
  (Mon, Nov 07, 6:01am)
8. DecimalToBinary ( Decimal ; Blank )
  (Mon, Nov 07, 5:59am)

RSS Feed of Custom Functions