How to remove the least significant bit of a signed int16

26 views (last 30 days)
I have a series of int16 values and I need to remove LSB out of them and make them 15 bits. How can I do that?
Note: I don't want to use any toolbox other than MATLAB's built-in ones.

Accepted Answer

blaat on 18 Aug 2015
You could use bitset() to set the LSB to 0, but they will still be 16-bits in memory. For example:
a = [56, 21, 33];
b = bitset(a, 1, 0);
then b will be
[56, 20, 32]
but still of type int16.

More Answers (0)


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by