# bitget

Get bits at certain positions

## Syntax

## Description

## Examples

### Get Bit When Input and Index Are Both Scalar

Consider the following unsigned fixed-point `fi`

number with a value of 85, word length 8, and fraction length 0:

a = fi(85,0,8,0); disp(bin(a))

01010101

Get the binary representation of the bit at position 4:

c = bitget(a,4);

`bitget`

returns the bit at position 4 in the binary representation of `a`

.

### Get Bit When Input Is a Matrix and the Index Is a fi

Begin with a signed fixed-point 3-by-3 matrix with word length 4 and fraction length 0.

a = fi([2 3 4;6 8 2;3 5 1],0,4,0); disp(bin(a))

0010 0011 0100 0110 1000 0010 0011 0101 0001

Get the binary representation of the bits at a specified position.

c = bitget(a,fi(2))

c = 1 1 0 1 0 1 1 0 0 DataTypeMode: Fixed-point: binary point scaling Signedness: Unsigned WordLength: 1 FractionLength: 0

MATLAB® returns a matrix of the bits in position `fi(2)`

of `a`

. The output matrix has the same dimensions as `a`

, and a word length of 1.

### Get Bit When Both Input and Index Are Vectors

Begin with a signed fixed-point vector with word length 16, fraction length 4.

a = fi([86 6 53 8 1],0,16,4); disp(bin(a))

0000010101100000 0000000001100000 0000001101010000 0000000010000000 0000000000010000

Create a vector that specifies the positions of the bits to get.

bit = [1,2,5,7,4]

`bit = `*1×5*
1 2 5 7 4

Get the binary representation of the bits of `a`

at the positions specified in `bit`

.

c = bitget(a,bit)

c = 0 0 1 0 0 DataTypeMode: Fixed-point: binary point scaling Signedness: Unsigned WordLength: 1 FractionLength: 0

`bitget`

returns a vector of the bits of `a`

at the positions specified in `bit`

. The output vector has the same length as inputs, `a`

and `bit`

, and a word length of 1.

### Get Bit When Input Is Scalar and Index Is a Vector

Create a default `fi`

object with a value of `pi`

.

a = fi(pi); disp(bin(a))

0110010010001000

The default object is signed with a word length of 16.

Create a vector of the positions of the bits you want to get in `a`

, and get the binary representation of those bits.

bit = fi([15,3,8,2]); c = bitget(a,bit)

c = 1 0 1 0 DataTypeMode: Fixed-point: binary point scaling Signedness: Unsigned WordLength: 1 FractionLength: 0

MATLAB® returns a vector of the bits in `a`

at the positions specified by the index vector, `bit`

.

## Input Arguments

`a`

— Input array

scalar | vector | matrix | multidimensional array

Input array, specified as a scalar, vector, matrix, or multidimensional
array of fixed-point `fi`

objects. If `a`

and `bit`

are
both nonscalar, they must have the same dimension. If `a`

has
a signed `numerictype`

, the bit representation of
the stored integer is in two's complement representation.

**Data Types**: fixed-point `fi`

`bit`

— Bit index

scalar | vector | matrix | multidimensional array

Bit index, specified as a scalar, vector, matrix or multidimensional
array of `fi`

objects or built-in data types. If `a`

and `bit`

are
both nonscalar, they must have the same dimension. `bit`

must
contain integer values between `1`

and the word length
of `a`

, inclusive. The `LSB`

(right-most
bit) is specified by bit index `1`

and the `MSB`

(left-most
bit) is specified by the word length of `a`

. `bit`

does
not need to be a vector of sequential bit positions; it can also be
a variable index value.

a = fi(pi,0,8); a.bin

11001001

**Data Types**: `fi`

|`single`

| `double`

| `int8`

| `int16`

| `int32`

| `int64`

| `uint8`

| `uint16`

| `uint32`

| `uint64`

## Output Arguments

`c`

— Output array

scalar | vector | matrix | multidimensional array

Output array, specified as an unsigned scalar, vector, matrix,
or multidimensional array with `WordLength`

1.

If `a`

is an array and `bit`

is
a scalar, `c`

is an unsigned array with word length
1. This unsigned array comprises the values of the bits at position `bit`

in
each fixed-point element in `a`

.

If `a`

is a scalar and `bit`

is
an array, `c`

is an unsigned array with word length
1. This unsigned array comprises the values of the bits in `a`

at
the positions specified in `bit`

.

## Extended Capabilities

### C/C++ Code Generation

Generate C and C++ code using MATLAB® Coder™.

### HDL Code Generation

Generate VHDL, Verilog and SystemVerilog code for FPGA and ASIC designs using HDL Coder™.

For VHDL^{®}, generates the slice operator: `a(idx)`

.

For Verilog^{®}, generates the slice operator: `a[idx]`

.

## Version History

**Introduced before R2006a**

## Open Example

You have a modified version of this example. Do you want to open this example with your edits?

## MATLAB Command

You clicked a link that corresponds to this MATLAB command:

Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list:

## How to Get Best Site Performance

Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.

### Americas

- América Latina (Español)
- Canada (English)
- United States (English)

### Europe

- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)

- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)