navarr/binary-explode

将数字分解为其二进制组成部分

资助包维护!
navarr

v2.0.1 2021-12-27 22:26 UTC

This package is auto-updated.

Last update: 2024-08-30 01:49:35 UTC


README

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

此包提供了两个函数,可将其转换为包含其二进制组成部分的数组。

示例

  1. [1]
  2. [2]
  3. [2, 1]
  4. [4]
  5. [4, 1]
  6. [4, 2]
  7. [4, 2, 1]

使用方法

安装

composer require navarr/binary-explode`

共享接口

此包提供了一个共享接口,\Navarr\BinaryExploder\BinaryExploderInterface。此接口接收一个int并返回一个包含或生成该int二进制组成部分的iterable<int>

\Navarr\BinaryExploder\LinearBinaryExploder::explode(int $value) : iterable

使用线性算法,检查数字与递增的2的幂的逻辑与。

此算法对于不太可能是2的幂的数字通常最快。

Navarr\BinaryExploder\LogarithmicBinaryExploder::explode(int $value) : iterable

使用线性算法,检查数字的以2为底的对数及其余数。

此算法对于可能是2的幂的数字通常最快。