how to convert a decimal number within (0, 255) to a 8-bit binary number?

5 vues (au cours des 30 derniers jours)
Yuzhen Lu
Yuzhen Lu le 9 Oct 2016
Assume a decimal number 100, it should be converted to 01100100 rather than 01100100 by dec2bin.m.
Is there any efficient way to do that, except bitget(100,[8:-1:1]) that seems a little slow in computation?

Réponses (1)

Walter Roberson
Walter Roberson le 9 Oct 2016
Repeat:
if the current value is odd, emit a 1, otherwise emit a 0
replace the current value with the current value divided by 2, taking the floor() rather than permitting rounding (caution: uint8 rounds)
if the new current value is 0, stop, otherwise repeat

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by