Binary Exploders
This package provides two functions usable to convert a number into an array of it's binary components.
Examples:
- [1]
- [2]
- [2, 1]
- [4]
- [4, 1]
- [4, 2]
- [4, 2, 1]
etc
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
.
\Navarr\BinaryExploder\LinearBinaryExploder::explode(int $value) : iterable
Uses a linear algorithm that checks the logical AND of the number with increasing powers of 2.
This algorithm is typically fastest for numbers that are unlikely to be a power of 2.
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.
This algorithm is typically fastest for numbers that are likely to be a power of 2.