# bitshift~

## Description

Use the bitshift~ object to perform bitwise operations on a floating point signal as bits or as an integer.

## Examples

## Discussion

Note that if you are converting the floats to ints and back that single precision floating point values only retain 24 bits of integer resolution. The floating point bits from left to right are <1 sign bit> <8 exponent bits> <23 mantissa bits>. Positive shift values correspond to left shifting that number of bits, negative shift values correspond to right shifting that number of bits.

## Arguments

### number-of-bits/direction-of-shift [int]

Sets the number of bits to be shifted on the incoming floating-point signal. Positive shift values correspond to left shifting that number of bits, negative shift values correspond to right shifting that number of bits.

### operational-mode [int]

Specifies whether the floating-point signal or floating-point value will be processed as a raw 32-bit floating-point value or converted to an integer value for bit shifting. The modes of operation are listed below.

0: Treat floating-point signal input as a raw 32-bit value (default).

1: Convert the floating-point signal input to an integer value.

## Attributes

### Common Box Attributes

## Messages

### int

#### Arguments

### float

#### Arguments

### mode

#### Arguments

Mode Descriptions:

0 - Treat floating-point signal input as a raw 32-bit value (default).

1 - Convert the floating-point signal input to an integer value.

Note: If you convert the floating-point signal input to an int and then convert it back, the resulting floating-point value will retain only 24 bits of integer resolution.

### shift

#### Arguments

### signal

Floating-point signal bit values are expressed in the following form: <1 sign bit> <8 exponent bits> <23 mantissa bits>

## Output

### signal

The resulting bit shifted floating-point signal.

## See Also

Name | Description |
---|---|

bitand~ | |

bitor~ | |

bitxor~ | |

bitnot~ |