# bitfieldInsert

## Name

bitfieldInsert — insert a range of bits into an integer

## Declaration

 genIType bitfieldInsert( genIType base, genIType insert, int offset, int bits);

 genUType bitfieldInsert( genUType base, genUType insert, int offset, int bits);

## Parameters

base

Specifies the integer into which to insert insert.

insert

Specifies the the value of the bits to insert.

offset

Specifies the index of the first bit to insert.

bits

Specifies the number of bits to insert.

## Description

bitfieldInsert inserts the bits least significant bits of insert into base at offset offset. The returned value will have bits [offset, offset + bits + 1] taken from [0, bits - 1] of insert and all other bits taken directly from the corresponding bits of base. If bits is zero, the result will simply be the original value of base. The result will be undefined if offset or bits is negative, or if the sum of offset and bits is greater than the number of bits used to store the operand.