powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Число единиц в двоичном представлении числа
42 сообщений из 42, показаны все 2 страниц
Число единиц в двоичном представлении числа
    #34857488
+2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+2
Гость
Всем привет!

Вопрос такого плана - можно ли узнать количество единиц в двоичном представлении числа не используя поразрядный сдвиг с накоплением переноса? Если да, то как?
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34857503
+2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+2
Гость
Чуть не забыл - разрядность 32 бита, если важно. Тип int (отрицательные и положительные)
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34857535
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+2 пишет:
> Автор: +2
> Всем привет!
>
> Вопрос такого плана - можно ли узнать количество единиц в двоичном
> представлении числа не используя поразрядный сдвиг с накоплением
> переноса? Если да, то как?
ну дели на два :)
что мне всегда в вузе не нравилось - "вводные". то нельзя это нельзя.
я люблю так. вот проблема - вот решение.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34857585
+2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+2
Гость
Ок. Есть последовательность {m, ... -2, -1, 0, 1, 2 ... n}. Надо узнать распределение чисел по числу единиц их двоичного представления. Напрашивается вариант перебора с вычислением количества единиц сдвигом с переносом для каждого числа, но это не рационально, так как при m, равном, например, -2000000000 и n = 2000000000 сожрет массу памяти и займет массу времени. Есть у кого мысли по этому поводу?
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34857597
+2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+2
Гость
Хмм... массу памяти, конечно, не сожрет, но времени, я подозреваю, уйдет просто немеряно.
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34857643
+2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+2
Гость
Если еще точнее, то мне надо набор чисел отсортировать сначала по количеству единиц двоичного представления, внутри каждой группы - в порядке возрастания, после чего выбрать всего одно - по его порядковому номеру в получившемся массиве.
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34857666
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+2Вопрос такого плана - можно ли узнать количество единиц в двоичном представлении числа не используя поразрядный сдвиг с накоплением переноса? Если да, то как?Само по себе это несложно. Как достаточно быстрый вариант - с помощью заранее подготовленного массив из 256 или 65536 чисел с нужными суммами.
Но для решения полной задачи простым перебором все равно может понадобиться уйма времени.
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34857685
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Построй таблицу размерностью 256 и для каждого индекса от 0 до 255 запиши в таблицу число единиц в этом числе. Далее пройдись по всем байтам исходного числа и в сумме получишь число единиц в бинарном представлении числа.
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34857722
+2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+2
Гость
Анатолий ШироковУже лучше. Спасибо. Может еще мысли у кого есть?
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34857723
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
x = x - ((x>> 1 )& 0x55555555);
x = (x & 0x33333333) + ((x>> 2 )& 0x33333333);
x = (x+(x>> 4 ))& 0x0F0F0F0F;
x = x+(x>> 8 );
x = x+(x>> 16 );
x = x & 0x0000003F;

(с)
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34857742
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+2 wrote:

> Хмм... массу памяти, конечно, не сожрет
Ещё как сожрет. 4 гигабайта оперативки, при указанном вами значении +-
2000000000.А вот по времени, мне кажется затраты не такими огромными
будут.

> Напрашивается вариант перебора с вычислением количества единиц сдвигом
с переносом для каждого числа, но это не рационально,

Не обязательно именно так делать. Можно создать счетчик на каждое число,
и обратить внимание, что единица в каждом разряде появляется и исчезает
периодически, начиная с нуля. Т.е. 00001 появляется и исчезает каждое
число. 0010 появляется и исчезает каждые два числа. 0100 - каждые
четыре, и т.д. Можно просто составить здоровенный массив и 32 раза по
нему пробежаться, увеличивая значение в нужных счетчиках. А сортировать
лучше уже потом, hash sort'ом или quick sort'ом - ИМХО, просто быстрее
будет.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34857781
+2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+2
Гость
Gluk (Kazan)
Круть, пять баллов! :)

А я вот что нашел: The On-Line Encyclopedia of Integer Sequences
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34858025
teras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то я не понял, что все-таки нужно - найти распределение или отсортировать? Это очень разные вещи. Чтобы найти распределение перебор необязателен. А в сортировке - от перебора никуда не денешься.
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34858089
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan) пишет:

> x = x - ((x>>*1*)& 0x55555555);
> x = (x & 0x33333333) + ((x>>*2*)& 0x33333333);
> x = (x+(x>>*4*))& 0x0F0F0F0F;
> x = x+(x>>*8*);
> x = x+(x>>*16*);
> x = x & 0x0000003F;

О, вспомнил ты этот хак, да ? Это из "Алгоритмические трюки для программистов",
так ведь ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34858174
teras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivЭто из "Алгоритмические трюки для программистов" Похоже это очень старый и известный трюк. Вот что про него пишет Кнут в mmix-arith.w :

Here's a fun way to count the number of bits in a tetrabyte.
[This classical trick is called the ``Gillies--Miller method
for sideways addition'' in {\sl The Preparation of Programs
for an Electronic Digital Computer\/} by Wilkes, Wheeler, and
Gill, second edition (Reading, Mass.:\ Addison--Wesley, 1957),
191--193. Some of the tricks used here were suggested by
Balbir Singh, Peter Rossmanith, and Stefan Schwoon.]
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34858752
+2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+2
Гость
terasЧто-то я не понял, что все-таки нужно - найти распределение или отсортировать? Это очень разные вещи. Чтобы найти распределение перебор необязателен. А в сортировке - от перебора никуда не денешься.

Нужно по номеру элемента в последовательности подобной A047869 , но для 32-битного целого найти значение.
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34858757
+2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+2
Гость
+2в последовательности подобной A047869 , но для 32-битного целого найти значение.
Точнее, не именно в такой, а начинающейся с конкретного значения (например, 35) и завершающейся конкретным значением (например, 81).
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34858785
teras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
+2 wrote:
> Автор: +2
> +2
> в последовательности подобной A047869
> <http://www.research.att.com/~njas/sequences/A047869>, но для 32-битного
> целого найти значение.
>
>
> Точнее, не именно в такой, а начинающейся с конкретного значения
> (например, 35) и завершающейся конкретным значением (например, 81).

То есть "набор чисел отсортировать сначала по количеству единиц
двоичного представления, внутри каждой группы - в порядке возрастания,
после чего выбрать всего одно - по его порядковому номеру в получившемся
массиве."

Мысль, возможно, не очень внятная, но ковыряться не хочется, а, по
ощущениям - похоже на то, что вы ищите. Я про алгоритмический поиск, а
не грубой силой - поиск по заданному количеству бит и порядковому номеру
числа.

Под распределением здесь я понимаю нечто близкое к понятию из теории
вероятности - количество чисел в интервале, имеющих 1, 2, ... n бит в
двоичном представлении. Можно представить его как массив счётчиков,
размеренностью от 0 до количества бит в слове.
Над распределением можно объявить операции сложения и вычитания -
складывая и вычитая соответствующие элементы двух распределений.

Дальше можно заметить три интересных свойства:
1) Рекуррентность полуинтервала. Возьмём n чисел, где n - степень
двойки. Разделим на две части - 0..n/2-1 и n/2..n. Пусть нам известно
распределение для первой половины. Тогда, для второй половины (там, где
добавляется старший бит) его можно вычислить, увеличив все элементы
распределения вплоть до позиции делящего бита первой половины на единицу.

2) Пусть дан интервал от m до n. Тогда можно рассчитать распределение
для интервала разделив его на две части - как сумму или разность
распределений двух не пересекающихся интервалов - например, от
(m..0)+(1..n), или (0..n)-(1..m). в зависимости от положения интервалов
относительно нуля.

3) Упорядоченность искомого числа относительно последовательного
просмотра интервалов. Проматривая интервалы последовательно, начиная с
распределения -(0..m) [это знак минус], и находя их распределения мы
можем отслеживать лежит ли искомое порядковое значение в рассматриваемом
интервале.

Свойства (1) и (2) позволяют рассчитать распределение для любого числа.
По ощущениям, требуемое время порядка - 1/2 O(n^2), где n - число бит в
представлении максимального числа. Подход еще не оптимален, но должно
быть гораздо быстрее перебора.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34858788
teras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
teras wrote:
> Дальше можно заметить три интересных свойства:
> 1) Рекуррентность полуинтервала. Возьмём n чисел, где n - степень
> двойки. Разделим на две части - 0..n/2-1 и n/2..n. Пусть нам известно

ммм. Второй - до n-1, конечно. На второй взгляд, больше косяков не
нашел. :-)
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34858808
+2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+2
Гость
Я тут уже в теорию наборов углубился.. или как правильно перевести set theory? По-моему очень похожая проблема. Там всю последовательность (set) народ разбивает на поднаборы (subset of set) по количеству элементов набора (в моем случае, как раз получается 33 набора - от 0 до 32).
У меня получается, что первый набор содержит 1 элемент (0), второй - 32 элемента, третий - sum(1+2+3...+32) и т.д - есть некая закономерность. Так же проглядывается явная наклонность к увеличению количества элементов каждого последующего набора до середины последовательности (до 16-го набора), затем количество элементов с тем же шагом (?) убывает и 32-й набор содержит одну единственную запись -1 (1111 1111 1111 1111 1111 1111 1111 1111).
Вот такая вот картинка.
Как вычислить значение i-го элемента (для упрощения, допустим, первой - положительной половины последовательности) так для меня пока и остается загадкой, бум думать :\

Тут еще какая закономерность есть - если разбить 32 бита на две части по 16, то тогда очередной 32-х битный набор (допустим, из трех битов) мижно представить как объединение пересечений всех 16-битных наборов, сумма бит которых равна 3 (например, 1 + 2, 2 + 1, 0 + 3 и 3 + 0)) - может есть смысл разбить большую последовательность на кучу мелких?
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34858955
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
О, вспомнил ты этот хак, да ? Это из "Алгоритмические трюки для программистов",
так ведь ?


а на копирайты что никто не смотрит ?
не думаешь же ты что я сам до такого додумался ???
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34859172
teras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
+2 wrote:
> Автор: +2
> Я тут уже в теорию наборов углубился.. или как правильно перевести set
> theory? По-моему очень похожая проблема.

Теория множеств.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34859673
+2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+2
Гость
terasТеория множеств.
Спасибо, я сразу после отправки того поста сам догадался :)

Вот я что еще тут заметил:

1. для n == 2^x в нулевом подмножестве находится одна запись (0), в первом - n записей, во втором - (n-1)*n/2 записей, в третьем пока думаю :)
2. для каждого (unsigned) подмножества x минимальное значение в этом подмножестве равно 2^x - 1
3. для каждого (unsigned) подмножества x максимальное значение в этом подмножестве равно 2^n - 2^(n-x)
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34859745
test_2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
int a=2837;
int counter=0;
while (a) {
a = a&(a-1);
counter++;
}

в counter-число единиц ...
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34859938
teras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
+2 wrote:
>
> Вот я что еще тут заметил:
>
> 1. для n == 2^x в нулевом подмножестве находится одна запись (0), в
> первом - n записей, во втором - (n-1)*n/2 записей, в третьем пока думаю :)
> 2. для каждого (unsigned) подмножества x минимальное значение в этом
> подмножестве равно 2^x - 1
> 3. для каждого (unsigned) подмножества x максимальное значение в этом
> подмножестве равно 2^n - 2^(n-x)

А все-таки, если не трудно - что вы думаете о том, что я написал? Не
было времени, не оптимально, не подходит, не работает, не понятно?
Похоже, время я неправильно оценил - оно будет меньше. Пропорционально
количеству бит.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34864595
+2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+2
Гость
terasА все-таки, если не трудно - что вы думаете о том, что я написал? Не
было времени, не оптимально, не подходит, не работает, не понятно?
Похоже, время я неправильно оценил - оно будет меньше. Пропорционально
количеству бит.
Скорее, не очень понятно.
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34864642
__Rosty__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
+2Если еще точнее, то мне надо набор чисел отсортировать сначала по количеству единиц двоичного представления, внутри каждой группы - в порядке возрастания, после чего выбрать всего одно - по его порядковому номеру в получившемся массиве.Для чего нужно тогда разбивать наборы и сортировать группы?

Например первое число из 3х единиц равно 7, второе 13, третье 14.
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34864651
+2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+2
Гость
__Rosty__Например первое число из 3х единиц равно 7, второе 13, третье 14.
Я согласен. С ходу, назовёте 300-е число из 3 единиц?
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34864653
+2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+2
Гость
+2 __Rosty__Например первое число из 3х единиц равно 7, второе 13, третье 14.
Я согласен. С ходу, назовёте 300-е число из 3 единиц?
Тем более, что второе число из 3 единиц равно 11-ти :)
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34864669
+2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+2
Гость
Еще раз попробую объяснить смысл проблемы.

Даны три числа n, m и x. По ним надо определить число, которое стоит в последовательности из этих чисел в порядке (число бит в двоичном представлении числа, сами числа по возрастанию)
Например, если дано n=8 m=55 x=42, то результат будет 46
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
  1   00000000000000000000000000001000    8 
  2   00000000000000000000000000010000    16 
  3   00000000000000000000000000100000    32 
  4   00000000000000000000000000001001    9 
  5   00000000000000000000000000001010    10 
  6   00000000000000000000000000001100    12 
  7   00000000000000000000000000010001    17 
  8   00000000000000000000000000010010    18 
  9   00000000000000000000000000010100    20 
 10   00000000000000000000000000011000    24 
 11   00000000000000000000000000100001    33 
 12   00000000000000000000000000100010    34 
 13   00000000000000000000000000100100    36 
 14   00000000000000000000000000101000    40 
 15   00000000000000000000000000110000    48 
 16   00000000000000000000000000001011    11 
 17   00000000000000000000000000001101    13 
 18   00000000000000000000000000001110    14 
 19   00000000000000000000000000010011    19 
 20   00000000000000000000000000010101    21 
 21   00000000000000000000000000010110    22 
 22   00000000000000000000000000011001    25 
 23   00000000000000000000000000011010    26 
 24   00000000000000000000000000011100    28 
 25   00000000000000000000000000100011    35 
 26   00000000000000000000000000100101    37 
 27   00000000000000000000000000100110    38 
 28   00000000000000000000000000101001    41 
 29   00000000000000000000000000101010    42 
 30   00000000000000000000000000101100    44 
 31   00000000000000000000000000110001    49 
 32   00000000000000000000000000110010    50 
 33   00000000000000000000000000110100    52 
 34   00000000000000000000000000001111    15 
 35   00000000000000000000000000010111    23 
 36   00000000000000000000000000011011    27 
 37   00000000000000000000000000011101    29 
 38   00000000000000000000000000011110    30 
 39   00000000000000000000000000100111    39 
 40   00000000000000000000000000101011    43 
 41   00000000000000000000000000101101    45 
 42   00000000000000000000000000101110    46 
 43   00000000000000000000000000110011    51 
 44   00000000000000000000000000110101    53 
 45   00000000000000000000000000110110    54 
 46   00000000000000000000000000011111    31 
 47   00000000000000000000000000101111    47 
 48   00000000000000000000000000110111    55 
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34864671
+2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+2
Гость
Про четность-нечетность. Числа _все_ либо четные, либо нечетные (перехода через 0 нет).
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34864679
+2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
+2
Гость
Собственно, число чисел может быть от 1 до max(int), поэтому перебором очень долго работать будет - вот ищу варианты, как сделать, что бы не перебором. Есть у кого еще мнения?
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34864682
teras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
+2 wrote:
> Автор: +2
> +2
> __Rosty__
> Например первое число из 3х единиц равно 7, второе 13, третье 14.
>
>
> Я согласен. С ходу, назовёте 300-е число из 3 единиц?
>

Насколько я понимаю, тут речь идет о том, что если рассматривать числа
подряд, их не нужно сортировать. То, что я назвал упорядоченностью.

Про остальное, если мысль была примерно такая. Нарисую таблицу для
наглядности:

00000 01000 10000 11000
00001 01001 10001 11001
00010 01010 10010 11010
00011 01011 10011 11011
00100 01100 10100 11100
00101 01101 10101 11101
00110 01110 10110 11110
00111 01111 10111 11111

Каждое число можно представить в виде суммы степеней двойки (что
соответствует его представлению в обычных компьютерах). Например, 29 =
16+8+4+1. Чтобы посчитать распределение бит в 16, делим его на две
части - [0..7] и [8..15]. Замечаем, что во втором интервале [8..15]
распределение бит то-же самое, что и в [0..7] плюс фиксированное кол-во
старших бит (здесь - один). То есть, чтобы посчитать распределение для
всего числа (16) нужно узнать распределение половины интервала. Может
продолжать деление пополам до тех пор, пока не дойдём до единицы. Затем,
предположим у нас есть распределение для [0..7]: {1, 3, 3, 1}, то есть,
было встречено одно 0-битное число, три однобитных, три двухбитных, одно
трехбитное.

отсюда найдем распределение для 16 (сдвигая полученное для 8 вправо на
единицу и суммируя):
{1, 3, 3, 1} + {0, 1, 3, 3, 1} = {1, 4, 6, 4, 1}

Теперь переходим ко второму интервалу (+8), для него нам нужно уже
полученное распределение {1, 4, 6, 4, 1}, его собственное (для 8) {1, 3,
3, 1}, и знание того, что для этого интервала у нас два старших бита
неизменны (маска 10xxx):
Из {1, 3, 3, 1} с учетом одно значащего бита имеем {0, 1, 3, 3, 1},
затем, сложим левый и новый интервалы {1, 4, 6, 4, 1} + {0, 1, 3, 3, 1}
= {1, 5, 9, 7, 2}

и т.д - повторяем шаг алгоритма.

Таким образом мы можем просто перебирать интервалы чисел, отслеживая
значение в распределении в нужной позиции до тех пор, пока не увидим,
что вновь рассмотренный интервал перекрывает искомое число. После этого,
мы можем вернуться обратно к предыдущему интервалу, сократить
просматриваемый интервал в два раза (например - в приведенной интерации,
разбивая интервал 8 на два: 4+4), и опять повторить операцию для
сокращенного интервала. Итерации заканчиваются успехом тогда, когда
завиксирован переход, и длина текущего интервала равна 1 (это будет
искомое число), или мы вышли за заданные границы.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34864694
__Rosty__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
+2 +2 __Rosty__Например первое число из 3х единиц равно 7, второе 13, третье 14.
Я согласен. С ходу, назовёте 300-е число из 3 единиц?
Тем более, что второе число из 3 единиц равно 11-ти :)
"300-го числа из трех единиц", естественно, сходу не назову,
но нормально написанная программа найдет его за доли секунд.
И все зависит от задачи. Если нужно будет только раз определить
300-го числа из трех единиц, то это можно просто вычислить.
Но если нужно будет определить после этого и 100 и 500-й, то лучше
расчеты записать в файл или в память и по мере надобности возобновить расчет
с 300-й позиции.

На счет: "Тем более, что второе число из 3 единиц равно 11-ти"
мне тоже смешно. :)
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34866332
Alex_Toms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если короткий программный код, то как вариант, перевести двоичное представление в строку, заменой удалить нули и затем вычислить длину строки. Если требуется быстрый способ, то это побитные операции.

Удачи.
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34867910
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_TomsЕсли короткий программный код, то как вариант, перевести двоичное представление в строку, заменой удалить нули и затем вычислить длину строки.

Индус ???
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34867958
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно еще в базу загрузить одельные биты в виде интежеров, а потом сделать select sum(..) from ..
До этого даже индусам не додуматься
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34868572
Alex_Toms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)
Индус ???

При нашей жизни, не только индусом станешь.
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34868595
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_TomsПри нашей жизни, не только индусом станешьэто при какой такой жизни ?
Р2000 10000ГГц, виты супер-пупер-сата-2100, 100000 оборотов, РАМ 2048 Гб ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34868651
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Toms Gluk (Kazan)
Индус ???

При нашей жизни, не только индусом станешь.

Ага, особенно если голову не включать :)
Во избежание 100% загрузки CPU с целью оставить сей ресурс для потомков
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34869535
f i xit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А для чего все эти пляски вокруг числа единиц? Какую реальную задачу решает эта функция?
...
Рейтинг: 0 / 0
Число единиц в двоичном представлении числа
    #34869848
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
f i xitА для чего все эти пляски вокруг числа единиц? Какую реальную задачу решает эта функция?

ИМХО это криптография (Генерация ключа )
...
Рейтинг: 0 / 0
42 сообщений из 42, показаны все 2 страниц
Форумы / C++ [игнор отключен] [закрыт для гостей] / Число единиц в двоичном представлении числа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]