Binary Exploders

, (*1)
This package provides two functions usable to convert a number into an array of it's binary components., (*2)
Examples:, (*3)
- [1]
- [2]
- [2, 1]
- [4]
- [4, 1]
- [4, 2]
- [4, 2, 1]
etc, (*4)
Usage
Installation
composer require navarr/binary-explode`
Shared Interface
This package provides a shared interface, \Navarr\BinaryExploder\BinaryExploderInterface. This interface takes an int and returns an iterable<int> containing or generating the binary components of that int., (*5)
\Navarr\BinaryExploder\LinearBinaryExploder::explode(int $value) : iterable
Uses a linear algorithm that checks the logical AND of the number with increasing powers of 2., (*6)
This algorithm is typically fastest for numbers that are unlikely to be a power of 2., (*7)
Navarr\BinaryExploder\LogarithmicBinaryExploder::explode(int $value) : iterable
Uses a linear algorithm that checks the log(base 2) of the number and then it's remainders., (*8)
This algorithm is typically fastest for numbers that are likely to be a power of 2., (*9)