navarr/binary-explode

Explode a number into it's binary components

Fund package maintenance!
navarr

Installs: 4 718

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 1

Open Issues: 0

pkg:composer/navarr/binary-explode

v2.0.2 2025-10-06 19:43 UTC

This package is auto-updated.

Last update: 2025-10-06 19:44:28 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License
Tests Code Coverage Mutation Score

This package provides two functions usable to convert a number into an array of it's binary components.

Examples:

  1. [1]
  2. [2]
  3. [2, 1]
  4. [4]
  5. [4, 1]
  6. [4, 2]
  7. [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.