Showing posts with label Алгоритмы. Show all posts
Showing posts with label Алгоритмы. Show all posts

Wednesday, June 2, 2010

Data Structures And Algorithms Alfred V. Aho

Thursday, September 10, 2009

Математика

Cephes
http://articles.org.ru/docum - здесь набор описаний форматов файлов, в том числе JPEG и дискретно-косинусное преобразование.
http://matlab.exponenta.ru/imageprocess/index.php - Обработка сигналов и изображений в Matlab. Понравилось хорошее описание математики.

http://matlab.exponenta.ru/imageprocess/book5/10_0.php - Отличная статья по реконструкции изображений и FFT.

Tuesday, July 28, 2009

Подсчет количества битов в байте или слове

Циклически сбрасывается крайний справа единичный бит исследуемого байта,
до тех пор, пока байт не станет равным 0.

Эффективность: 2 + 5*pop(x) команд, подходит для малозаполненных байтов.

private static int pop(byte x)
{
int n = 0;

while (x != 0)
{
n += 1;
x = (byte) (x & (x - 1));
}

return n;
}

Другой способ:
В слове циклически устанавливается крайний справа нулевой бит ( x = x | (x + 1)) до тех пор, пока во всех разрядах слова не оказываются единицы (то есть слово = -1).
После этого возвращается число 32 - n.

Третий способ:
Вычисляется сумма всех 32 битных слов, полученных в результате циклического сдвига слова влево на один разряд. Итоговая сумма равна значению pop(x) со знаком минус.

Вычисление модуля

( ( x >> 30 ) | 1 ) * x

Powered by Blogger.