Bir diziye onun biraz değerlerini ikili ve geri ondalık nasıl değiştirilir?

4 Cevap php

Örneğin:

$result = func(14);

$result olmalıdır:

array(1,1,1,0)

Bu nasıl uygulanacağı func?

4 Cevap

<?php
function int_to_bitarray($int)
{
  if (!is_int($int))
  { 
    throw new Exception("Not integer");
  }

  return str_split(decbin($int));
}

$result = int_to_bitarray(14);
print_r($result);

Çıktı:

Array
(
    [0] => 1
    [1] => 1
    [2] => 1
    [3] => 0
)

Siz ters 2 ve mağaza kalanı bölerek gidebilirsiniz ...

sayı = 14

14%2 = 0 sayı = 14/2= 7

7% 2 = 1 numarası = 7/2 = 3

3% 2 = 1 numarası = 3/2 = 1

1% 2 = 1 sayı = 1/2 = 0

for($i = 4; $i > 0; $i++){
    array[4-$i] = (int)($x / pow(2,$i);
    $x -= (int)($x / pow(2,$i);
}

... Bu hile yapardı. Bundan önce dizi olarak ve hangi $ i değeri ile başlamak gerekiyor ne kadar büyük kontrol edebilir.