Этот сайт не наркоманов. Это сайт программистов.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Мы в твиттере!
Мы вконтакте!
Мы на яндексе!

Краснодарское время: 25 Май, 2012, 05:22:06

Страниц: [1]
Печать
Автор Тема: Узнать число битов в числе  (Прочитано 219 раз)
0 Пользователей и 1 Гость смотрят эту тему.
arvitaly    ↓ 
26 Октябрь, 2011, 03:33:22
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 5
Сообщений: 282
Сила слова: 1.77

Вопрос
Записан

ivanscm    ↓ 
26 Октябрь, 2011, 04:18:53 , спустя 45 минут 31 секунду
НЕ ХУЕТА! ХУЕТА!

Синий властилин
Группа: Джедаи

Карма: 0
Сообщений: 1125
Сила слова: 0

Ответ
Записан

mario    ↓ 
26 Октябрь, 2011, 04:23:00 , спустя 4 минуты 7 секунд
НЕ ХУЕТА! ХУЕТА!

wazzup
Группа: Джедаи

Карма: 67
Сообщений: 6162
Сила слова: 1.09

первое что пришло в голову substr_count(base_convert($numeric, 10, 2), '1');
Записан

с ув. mario.
Контакты
Frozzeg    ↓ 
26 Октябрь, 2011, 04:29:44 , спустя 6 минут 44 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Пятросянище

Карма: 92
Сообщений: 5501
Сила слова: 1.67

Записан
Nyaah    ↓ 
27 Октябрь, 2011, 12:13:32 , спустя 7 часов 43 минуты 48 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 34
Сообщений: 522
Сила слова: 6.51

тебе число ведущих битов?
 
для целого числа:
$a = 100;
$count = 0;
while ($a != 0) {
    $count++;
    $a >>= 1;
}
echo $count;
 
можно без $count  свичем по 0x1 0x2 0x4 0x8 0x01 .... но это если зарание известен максимальной размер числа. Для флота - распаковываешь его в инт/массив интов, если он больше 4 байт. А вообще в php работать на уровне битов то ещё приключение
Спустя 1 минуту 18 секунд добавил
кстате, причём тут ооп? =)
Записан

Work, buy, consume, die
Stasovsky    ↓ 
27 Октябрь, 2011, 12:27:48 , спустя 14 минут 16 секунд
НЕ ХУЕТА! ХУЕТА!

Сенсей XD
Группа: Джедаи

Карма: 54
Сообщений: 3654
Сила слова: 1.48

может ему надо типы данных?
bigint - 8 байт
int - 4 байта
etc.
Записан
arvitaly    ↓ 
27 Октябрь, 2011, 07:53:01 , спустя 7 часов 25 минут 13 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 5
Сообщений: 282
Сила слова: 1.77

ООП уж всегда причем
Записан

arvitaly    ↓ 
27 Октябрь, 2011, 08:10:32 , спустя 17 минут 31 секунду
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 5
Сообщений: 282
Сила слова: 1.77


На самом деле задача разложить число на степень двойки
Text
    $number = 159;
   
    $pows = array();
   
    do
    {       
        $number = $number - pow(2, ( $pows[] = floor( log($number, 2)) ) );
 
    }while ($number > 0);
   
    print_r($pows);

вот тут хотел заменить log на чо нить более быстрое
Записан

phpdude    ↓ 
27 Октябрь, 2011, 08:24:26 , спустя 13 минут 54 секунды
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 345
Сообщений: д-о-х-у-я!
Сила слова: 1.66

php.net/decbin
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
master    ↓ 
27 Октябрь, 2011, 12:52:18 , спустя 4 часа 27 минут 52 секунды
НЕ ХУЕТА! ХУЕТА!

Квадратов сколько видишь ты?
Группа: Джедаи

Карма: 44
Сообщений: 2080
Сила слова: 2.12

Ответ
+1
Записан

komprenda    ↓ 
15 Май, 2012, 12:36:47 , спустя 200 дней 23 часа 44 минуты 29 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 25
Сила слова: 0


может ему надо типы данных?
bigint - 8 байт
int - 4 байта
etc.

В пыхе любят триллионы складывать ггг
Записан
Страниц: [1]
Печать
 

Перейти в:  

Этот топик скрыли: adw0rd