Leave a comment

Comments 4

dream_inspector April 11 2010, 20:27:00 UTC
Еще классический способ, отнять единичку и сделать and. ДО те пор пока число не станет нулем, сколько раз сделал - столько и единиц.

Reply

dreamiurg April 11 2010, 20:32:40 UTC
Да, это как раз вариант dense/sparse - для 0 и 1, соответственно. Плюшки в том, что вместо цикла на 8-16-32.. операций по количеству сдвигов, получаем максимум N/2. Я там выше писал, для этого лучше знать, какие биты преобладают - но и в худшем случае производительность сравнима с шифтером

Reply

dream_inspector April 11 2010, 20:37:31 UTC
Тейбл на 16 бит рулит :)

Reply

dreamiurg April 11 2010, 20:44:53 UTC
в теории мог бы зарулить тейбл и на 32, но сильно много места скушает, да и не поместится в памяти, так что на свопах потеряем :)

Reply


Leave a comment

Up