Также есть переменная $count_sings, которое хранит в себе количество байтов.
Необходимо получить переменную $collBytes, которая равна $count_sings деленное на 2, такое кол-во раз, которое указано в $dn.
Как осуществить данную процедуру?
Спустя 6 минут, 11 секунд (20.09.2012 - 16:25) TranceIT написал(а):
Цикл for или while
Спустя 1 минута, 22 секунды (20.09.2012 - 16:27) neadekvat написал(а):
1. Почему переменные названы в разных стилях? Либо так - a_b, либо так: aB.
2. Чем обычный цикл не угодил?
2. Чем обычный цикл не угодил?
Спустя 1 минута, 44 секунды (20.09.2012 - 16:28) Michael написал(а):
почитай про логарифмы
Спустя 9 минут, 29 секунд (20.09.2012 - 16:38) cyberside написал(а):
Ну циклом я пробовал:
Дает неверные значения...
for($esg = 2; $esg <= $dn; $esg++){
$count_sings = $count_sings / 2;
}
Дает неверные значения...
Спустя 7 минут, 25 секунд (20.09.2012 - 16:45) Игорь_Vasinsky написал(а):
тебе же в предыдущей теме с логарифмами решение дали
Спустя 4 минуты, 16 секунд (20.09.2012 - 16:49) cyberside написал(а):
Игорь_Vasinsky, я туда не заглядывал после do & while... Сейчас посмотрим, вспомним школу...
Спустя 4 часа, 29 минут, 30 секунд (20.09.2012 - 21:19) neadekvat написал(а):
Цитата (Игорь_Vasinsky @ 20.09.2012 - 17:45) |
тебе же в предыдущей теме с логарифмами решение дали |
А я вот не вкурил, что там происходит. Хотелось бы продолжить обсуждение.
Спустя 13 минут, 22 секунды (20.09.2012 - 21:32) Игорь_Vasinsky написал(а):
да там вообще топик так начинался
Цитата |
Необходимо узнать, например сколько раз 15 делиться на 2, ответ будет 5. |
Спустя 1 час, 1 минута, 8 секунд (20.09.2012 - 22:33) neadekvat написал(а):
Игорь_Vasinsky, да, я прочитал топик и даже отписался, мне кое-что непонятно. Почему логарифм а по основанию n и плюс 1, если должно быть без +1?
Спустя 2 минуты, 49 секунд (20.09.2012 - 22:36) kristall написал(а):
Деление на 2 эквивалентно битовому сдвигу вправо.
$a = $a / 2;
эквивалентно
$a = $a >> 1;
Соответственно делим на 4, 6, на 2*$dn.
>>2
>>3
...
>>$dn
$a = $a / 2;
эквивалентно
$a = $a >> 1;
Соответственно делим на 4, 6, на 2*$dn.
>>2
>>3
...
>>$dn
Спустя 2 минуты, 40 секунд (20.09.2012 - 22:39) neadekvat написал(а):
kristall, если мы так сделаем, то получим 1 или 0 (1 - если разделим на результат логарифма, 0 - если на все, что больше), так какой смысл?
Спустя 4 минуты, 26 секунд (20.09.2012 - 22:43) kristall написал(а):
Цитата |
Необходимо получить переменную $collBytes, которая равна $count_sings деленное на 2, такое кол-во раз, которое указано в $dn. |
$collBytes = $count_sings >> $dn;
Что я делаю неверно?
Спустя 7 минут, 55 секунд (20.09.2012 - 22:51) neadekvat написал(а):
kristall, мы еще не сняли вопрос к автору в формате "шо ты хочешь?"
В целом, я по факту говорю. Если делить на 2 до последнего целого числа, то по-любому получится 1, тут даже считать не надо. Так что я предполагаю, что нужны промежуточные результаты.
В целом, я по факту говорю. Если делить на 2 до последнего целого числа, то по-любому получится 1, тут даже считать не надо. Так что я предполагаю, что нужны промежуточные результаты.
Спустя 9 часов, 40 секунд (21.09.2012 - 07:52) Michael написал(а):
Перечитал топик, может там отредактировано было?, но там сейчас просто по формуле задача:
$collBytes = $count_sings / (pow(2, $dn));
Спустя 25 минут, 4 секунды (21.09.2012 - 08:17) sergeiss написал(а):
А тут http://phpforum.ru/index.php?showtopic=66959&hl= я тебе ответ давал - ты не смотрел? Этут тему закрываю, так как это повтор другой темы.