Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zamiana z 10 na dwojkowy...
Forum PHP.pl > Forum > Gotowe rozwiązania
Widmo
  1. <? 
  2. $dz = '1476';
  3. $temp = $dz;
  4. $i = '10';
  5.  
  6. do{
  7. $temp = $temp / 2;
  8.  
  9. if ($temp%2)
  10. // Z resztą
  11. { echo '<BR>z resz<BR>'; $dwo = $dwo.'1'; echo $dwo; }
  12. else
  13. //Bez reszty
  14. { echo '<BR>bez resz<BR>'; $dwo = $dwo.'0'; echo $dwo; }
  15. echo '<BR>temp: '.$temp;
  16. echo '<BR>------------------';
  17.  
  18. $i--;
  19. } while($i)
  20. ?>


Wynik tego kodu:

Kod
bez resz
0
temp: 738
------------------
z resz
01
temp: 369
------------------
bez resz
010
temp: 184.5
------------------
bez resz
0100
temp: 92.25
------------------
bez resz
01000
temp: 46.125
------------------
z resz
010001
temp: 23.0625
------------------
z resz
0100011
temp: 11.53125
------------------
z resz
01000111
temp: 5.765625
------------------
bez resz
010001110
temp: 2.8828125
------------------
z resz
0100011101
temp: 1.44140625
------------------


Chce zamienic liczbe 10tna na 2jkowa,
dlatego jezeli liczba dzieli sie bez reszty walimy 0
jak z reszta to 1

teraz daje mi z przecinkami, probowalem dac:

  1. <?php
  2. $temp = $temp / 2;
  3. $temp = sprintf(&#092;"%0.0f\", $temp);
  4.  
  5. if ($temp%2)
  6. ?>


zeby dzielil liczby calkowite, ale wtedy w 3 kroku o jeden gubi precyzje...

Gdzie mam szukac bledu?
a moze jest prostsza metoda...
dr_bonzo
string decbin ( int number)

-=--=-=-=-=-
  1. <?
  2. /**
  3.  * DEC->BIN C0nv3r$ion
  4.  *
  5.  */
  6.  
  7. /**
  8.  * Enter description here...
  9.  *
  10.  * @param integer $iNumber
  11.  */
  12. function dec_to_bin_conversion( $iNumber )
  13. {
  14. $sBin_number = '';
  15.  
  16. while ( $iNumber > 0 )
  17. {
  18. $sBin_number = ( $iNumber % 2 ) . $sBin_number;
  19. $iNumber = floor( $iNumber / 2 );
  20. }
  21.  
  22. return $sBin_number;
  23. }
  24.  
  25. $x = 666;
  26. print( dec_to_bin_conversion( $x ) );
  27. ?>

$iNumber = floor( $iNumber / 2 );
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.