Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: konwersja liczb
Forum PHP.pl > Forum > PHP
Nitka
Witam!
Proszę o pomoc, otóż mam do zrobienia skrypt konwertujący system dziesiętny na dwójkowy liczbę popieraną od użytkownika za pomocą fromularza.
Pawel_W
nie wiesz jak napisać skrypt czy nie wiesz jak się w ogóle zamienia? bo to jest różnica smile.gif
flashdev
Cytat(Nitka @ 21.12.2010, 00:40:13 ) *
Witam!
Proszę o pomoc, otóż mam do zrobienia skrypt konwertujący system dziesiętny na dwójkowy liczbę popieraną od użytkownika za pomocą fromularza.


Jeżeli chodzi o napisanie własnego kodu to to poniżej powinno Cię naprowadzić.
  1. <?php
  2.  
  3. $int_size = 32;
  4. $liczba = 675324;
  5.  
  6. for( $i = 0; $i < $int_size; $i++ ){
  7. echo (1<<($int_size-$i-1))&$liczba ? '1' : '0';
  8. }
  9.  
  10. fgets(STDIN);


W przeciwnym wypadku użyj gotowej funkcji (dec to bin).
Nitka
Cytat(flashdev @ 21.12.2010, 02:10:17 ) *
Jeżeli chodzi o napisanie własnego kodu to to poniżej powinno Cię naprowadzić.
  1. <?php
  2.  
  3. $int_size = 32;
  4. $liczba = 675324;
  5.  
  6. for( $i = 0; $i < $int_size; $i++ ){
  7. echo (1<<($int_size-$i-1))&$liczba ? '1' : '0';
  8. }
  9.  
  10. fgets(STDIN);


W przeciwnym wypadku użyj gotowej funkcji (dec to bin).



OK proszę podpowiedz mi jeszcze, bo wiem jak mam to umieścić w kodzie html ale co jeszcze dopisać by skrypt konwertowal liczby podane przez użytkownika wpisując w formularz
krowal
Napisz formularz z jednym polem 'input' który wyśle dane do twojego skryptu. W skrypcie odbierz dane z tablicy $_GET/$_POST['nazwa_inputa'] i zamień za pomocą tego skryptu który już masz smile.gif
Nitka
Cytat(krowal @ 21.12.2010, 11:41:38 ) *
Napisz formularz z jednym polem 'input' który wyśle dane do twojego skryptu. W skrypcie odbierz dane z tablicy $_GET/$_POST['nazwa_inputa'] i zamień za pomocą tego skryptu który już masz smile.gif


mój kod w html o nazwie decbin.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Dziesiętny-dwójkowy</title>
</head>

<body>
<form action="<?php echo $_SERVER['decbin1']; ?>" method="POST">
<p><strong>Podaj liczbę dziesiętną: </strong>
<input type="text" name="liczba"/>
<p><input type="submit" value="przelicz"/></p>
</from>



</body>
</html>

i oddzielny skrypt php o nazwie decbin1.php:
<?php

$_POST["liczba"];


for( $i = 0; $i < $int_size; $i++ )
{
echo (1<<($int_size-$i-1))&$liczba ? '1' : '0';
}
?>

kurcze, co robię nie tak?!
magu112
w pliku html masz kod php ? ;\
nie łatwiej zrobić to w jednym pliku php ?

  1. if ($_POST['liczba']) {
  2.  
  3. $int_size = 32;
  4. $liczba = $_POST['liczba'];
  5.  
  6. for( $i = 0; $i < $int_size; $i++ ){
  7. $wynik .= (1<<($int_size-$i-1))&$liczba ? '1' : '0';
  8. }
  9. //usuwam zera przed pierwszą jedynką
  10. $out=ltrim($wynik,'0');
  11. echo $out;
  12.  
  13. } elseif (!$_POST['liczba']) {
  14.  
  15. echo <<<HTML
  16. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  17. <html>
  18. <head>
  19. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  20. <title>Dziesiętny-dwójkowy</title>
  21. </head>
  22.  
  23. <body>
  24. <form action='' method='POST'>
  25. <p><strong>Podaj liczbę dziesiętną: </strong>
  26. <input type="text" name="liczba"/>
  27. <p><input type="submit" value="Wyślij"/></p>
  28. </from>
  29. HTML;
  30. }
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-2025 Invision Power Services, Inc.