Re: Bit count
От | Rikard Bosnjakovic |
---|---|
Тема | Re: Bit count |
Дата | |
Msg-id | d9e88eaf0911241018p7b95bdaaqc65717bb6b663a60@mail.gmail.com обсуждение исходный текст |
Ответ на | Bit count (Nathaniel Trellice <naptrel@yahoo.co.uk>) |
Ответы |
Re: Bit count
Re: Bit count Re: Bit count |
Список | pgsql-novice |
On Tue, Nov 24, 2009 at 16:47, Nathaniel Trellice <naptrel@yahoo.co.uk> wrote: [...] > If not, can anyone recommend the most efficient way within postgres to implement the kind of bit-counting tricks foundat: Perhaps something like this: CREATE OR REPLACE FUNCTION bitcount(i integer) RETURNS integer AS $$ DECLARE n integer; DECLARE amount integer; BEGIN amount := 0; FOR n IN 1..16 LOOP amount := amount + ((i >> (n-1)) & 1); END LOOP; RETURN amount; END $$ LANGUAGE plpgsql; bos=# select bitcount(6); bitcount ---------- 2 (1 row) bos=# select bitcount(7); bitcount ---------- 3 bos=# select bitcount(4711); bitcount ---------- 7 (1 row) bos=# select bitcount(1024); bitcount ---------- 1 (1 row) -- - Rikard
В списке pgsql-novice по дате отправления: