Wątek przeniesiony 2014-06-09 09:32 z PHP przez dzek69.

Zamiana liczby dziesiętnej na binarną.

0

Witam.
Programuję dziś skrypt, który ma wpisaną liczbę zmienić z dziesiętnej na binarną. Podobno proste zadanie. Jednak utknąłem.
Poniżej daje skrypt:

<?php
echo "</br>";
while($oblicz>1){
$reszta=$oblicz%2;
echo "$reszta";
}


?> 

Czego w nim brakuje, aby dobrze działał ? Zmienna jest tutaj liczbą, którą użytkownik wpisuje. Skrypt się nie ładuje na stronie. Trwa minutowe ładowanie i w końcu wyskakuje przekroczenie czasu oczekiwania.
Chcę, aby to było metodą algorytmu w PHP, dlatego też jeżeli komuś się nie chce poprawiać chętnie zobaczę algorytm :)

1

widocznie udało Ci się stworzyć nieskończoną pętlę,

pytanie po co chcesz zamieniać liczbę na binarną, jeśli tylko po to żeby ją wyświetlić skorzystaj z sprintf(...), pamiętaj tylko że sprintf zwraca typ string

$num = 10;
$bin = sprintf('%b', $num);
echo $bin; //1010
echo "\n";
echo gettype($bin); //string
1

petla while dziala dopoki zmienna oblicz jest wieksza od zera i tak tez robi, a ze zmienna oblicz sie nie zmienna to skrypt dziala dopoki nie zostaje ubity przez serwere limitu czasu zadania, co nastepuje w twoim przypadku.

0

Ok, w takim razie jak zamknąć pętlę ? Możecie podrzucić domknięcie ?

Skrypt robię w celach ćwiczeniowych.

2

Musisz dzielić $oblicz przez 2 z każdym obrotem pętli.

0
Sopelek napisał(a):

Musisz dzielić $oblicz przez 2 z każdym obrotem pętli.

A mógłbyś podrzucić wzór skryptu ?

0
patwoj98 napisał(a):
Sopelek napisał(a):

Musisz dzielić $oblicz przez 2 z każdym obrotem pętli.

A mógłbyś podrzucić wzór skryptu ?

A którego słowa nie rozumiesz?

0

Mam już to ogarnięte. Dzięki wszystkim za chęci. Temat do zamknięcia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1