28.2.43 __builtin_fbcl_16
Architecture
dsPIC33A, dsPIC33C/E/F, dsPIC30
Description
Finds the first bit-change from the left; skipping the sign bit. The first bit to the right of the sign bit is numbered 0, increasing to the right.
Example:
int result;
int16_t val_1 = 2048;
int16_t val_2 = -2048;
result = __builtin_fbcl_16(val_1);
result = __builtin_fbcl_16(val_2);
The first bit change for 2048 == 0x0800 == 0b0000.1000.0000.0000 is 3. The first bit change for -2048 == 0xF800 == 0b1111.1000.0000.0000 is 4.
Prototype
int __builtin_fbcl_16(int16_t x);
Arguments
x
- value to inspect
Return Value
Returns the position of the first bit change from the left, skipping the sign bit. The value is
sign-extended to int
.
Machine Instruction
fbcl
Error Messages
None.