# BITANDOFFHEX

The `BITANDOFFHEX` field specifier (case sensitive) allows you find documents with a field whose hexadecimal string value does not result in 0 when a bit-wise `AND` operation is performed between this value and a specified hexadecimal string.

## Format

    FieldText=BITANDOFFHEX{nn,yourHexadecimalString}:yourBitFields

`nn` | The number of 16 bit chunks to shift the value in `yourHexadecimalString` and in `yourBitFields` by before performing the bit-wise `AND` operation (this option allows you to store sparse bit masks more efficiently).
`yourHexadecimalString` | A hexadecimal string. A document returns only if one of `yourBitFields` contains a value that result in a non-zero value when a bit-wise `AND` operation is performed between this value and the specified hexadecimal string.
`yourBitFields` | One or more fields. A document returns only if it contains one of these fields, and if this field contains a hexadecimal string that results in a non-zero value when a bit-wise `AND` operation is performed between it and `yourHexadecimalString`. Separate multiple fields with colons (`:`). There must be no space before or after a colon.

## Example

    FieldText=BITANDOFFHEX{01,0a001}:BitOffField

The binary representation of the hexadecimal value `01,0a001` is compared with the binary representations of the hexadecimal values that `BitOffField` fields in IDOL Server contain. Only documents whose `BitOffField` values result in a non-zero value when they are compared to the binary representation of `01,0a001` (after they have been left shifted by one 16 bit chunk) are returned.

If the `BitOffField`, for example, contains the value `1,bc01`, the document returns, while a document whose `BitOffField` contains the value `0,5ffeffff` does not return.

Field value comparison:

nn,hexstring | Hex | Binary
--- | --- | ---
`01,0a001` | `A0010000` | `1010 0000 0000 0001 0000 0000 0000 0000`
`1,bc01` | `BC010000` | `1011 1100 0000 0001 0000 0000 0000 0000`
|  | `1010 0000 0000 0001 0000 0000 0000 0000` This evaluates to `true`.

nn,hexstring | Hex | Binary
--- | --- | ---
`01,0a001` | `A0010000` | `1010 0000 0000 0001 0000 0000 0000 0000`
`0,5ffeffff` | `5FFEFFFF` | `0101 1111 1111 1110 1111 1111 1111 1111`
|  | `0000 0000 0000 0000 0000 0000 0000 0000` This evaluates to `false`.

_FT_HTML5_bannerTitle.htm