Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Ошибка в записи цикла

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
MADONZY
Отправлено: 04 Августа, 2013 - 02:45:44
Post Id


Гость


Покинул форум
Сообщений всего: 104
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




Всем привет, пишу функцию которая переводит числа из десятеричной системы счисления в двоичную. Результат - правильный, но вначале результата ставятся лишние нули. Видимо я совершенно неправильно пишу запрос работы цикла. Огорчение
Как это исправить?

PHP:
скопировать код в буфер обмена
  1. function from10to2($a) {
  2.     $result = "";
  3.     $num = $a;
  4.    
  5.     for($i=$num;$i>=0;$i--) {
  6.         $ostatok = $num%2;
  7.         $num = intval($num/2);
  8.         switch($ostatok) {
  9.             case 0:$result .= "0";break;
  10.             case 1:$result .= "1";break;
  11.         }
  12.     }
  13.     return strrev($result);
  14. }

(Отредактировано автором: 04 Августа, 2013 - 02:48:56)

 
 Top
avtor.fox
Отправлено: 04 Августа, 2013 - 03:12:49
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




Ленинград пишет:
Любит наш народ, всякое говно


decbin
 
 Top
MADONZY
Отправлено: 04 Августа, 2013 - 11:08:46
Post Id


Гость


Покинул форум
Сообщений всего: 104
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




мне не нужна готовая функция, я свою описываю
(Добавление)
Уже сделал, если кому-то будет интересно, то вот ответ:
PHP:
скопировать код в буфер обмена
  1. function from10to2($a) {
  2.     $result = "";
  3.     $num = $a;
  4.    
  5.     for($i=$num;$i>=0;$i--) {
  6.         $ostatok = $num%2;
  7.         $num = intval($num/2);
  8.         switch($ostatok) {
  9.             case 0:$result .= "0";break;
  10.             case 1:$result .= "1";break;
  11.         }
  12.         if($num==0) break; // нужно было добавить проверку остатка :)
  13.     }
  14.     return strrev($result);
  15. }

(Отредактировано автором: 04 Августа, 2013 - 12:01:08)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB