fork download
  1. <?php
  2.  
  3.  
  4. function hitungNomorBit(int $angka, int $nomorBit){
  5. //pertama harus konvert ke binary
  6. $binary = [];
  7. if ($angka == 0 ) {
  8. $binary=[0];
  9. }else{
  10.  
  11. while($angka >= 1 ){
  12. $bit = $angka % 2;
  13. $angka = ( $angka - $bit) / 2;
  14. $binary[] = $bit;
  15. }
  16. $binary = array_reverse($binary);
  17.  
  18. $total = 0;
  19.  
  20. //kemudian looping check total jumlah binary sesuai nomorBit
  21. foreach($binary as $bin){
  22. if($bin == $nomorBit) $total++ ;
  23. }
  24.  
  25. echo ($total) ? $total : null;
  26.  
  27. }
  28.  
  29. }
  30.  
  31.  
  32.  
  33.  
  34. // Representasi bilangan biner dari angka 13 adalah 1101
  35.  
  36. hitungNomorBit(13, 0);// → mengeluarkan hasil bilangan desimal 1
  37. hitungNomorBit(13, 1);// → mengeluarkan hasil bilangan desimal 3
  38. hitungNomorBit(13, 2);// → mengeluarkan hasil null
Success #stdin #stdout 0.04s 25788KB
stdin
Standard input is empty
stdout
13