# Futurebasic/Language/Reference/and

## And

### Operator

✔ Appearance ✔ Standard ✔ Console

### Syntax

```result& = exprA {and | &&} exprB
```

### Description

Expression `exprA` and expression `exprB` are each interpreted as 32-bit integer quantities. The `and` operator performs a "bitwise comparison" of each bit in `exprA` with the bit in the corresponding position in `exprB` . The result is another 32-bit quantity; each bit in the result is determined as follows:

Bit value in
exprA
Bit value in
exprB
Bit value in
result&
0 0 0
1 0 0
0 1 0
1 1 1

### Example

In the following example, expressions are evaluated as true or false before a decision is made for branching. The logical expression `time>7` is true, and is therefore evaluated as -1. The expression `time<8.5` is false, and is therefore evaluated as 0. Then the bitwise comparison (-1) `and` (0) is performed, resulting in zero. Finally, the `long if` statement interprets this zero result as meaning "false," and therefore skips the first `print` statement.

```time = 9.5
long if time > 7 and time < 8.5
print "It is time for breakfast!"
xelse
print "We have to wait 'til noon to eat!"
end if
```

The example below shows how bits are manipulated with `AND`:

```defstr long
print bin\$( 923 )
print bin\$( 123 )
print "--------------------------------"
print bin\$( 923 and 123 )
```

program output:

```00000000000000000000001110011011
00000000000000000000000001111011
--------------------------------
00000000000000000000000000011011
```