Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.05;
Скачать: CL | DM;

Вниз

Самая короткая программа подсчета   Найти похожие ветки 

 
McSimm ©   (2003-12-12 10:55) [0]

Нужно подсчитать количество ненулевых битов в файле. Предложите алгоритм самой короткой программы для этого


 
Sandman25 ©   (2003-12-12 11:06) [1]

Константный массив с индексом 0..MAXINT
A[0]=0, A[1]=1, A[2]=1, A[3]=2, A[4]=1...


 
Romkin ©   (2003-12-12 11:09) [2]

Короткой по какому критерию? Самый короткий текст, самую быструю, экономную? :)


 
Romkin ©   (2003-12-12 11:11) [3]

Первое, что приходит в голову, это константный массив array [byte] of byte, значения которого - число нулевых битов :) После этого - простой проход с суммированием значений массива по индексу байта из файла


 
Romkin ©   (2003-12-12 11:13) [4]

Да, кажется, у i386 есть в ассемблере команда подсчета количества нулевых бит (или единичных?). Тогда и таблица не нужна. А вот файл весь в любом случае читать придется


 
McSimm ©   (2003-12-12 11:17) [5]

Задачка с юмором


 
McSimm ©   (2003-12-12 11:43) [6]

Решение: 7*FileSize

Также это решение подходит для посчета "не первых", "не вторых" и т.д. битов :)

Ну, а за неграмотность в условии просто извинияюсь ;)


 
Romkin ©   (2003-12-12 11:43) [7]

Моя на рассвете юмора не панимат!
Да и мало ли что нужно... Я тут частотный словарь составлял, тоже та еще задачка. Особенно, когда меня напугали, что файлы с текстом несколько гигабайт будут... Когда написал, выяснилось, что мегабайт :))))


 
Sandman25 ©   (2003-12-12 11:47) [8]

McSimm © (12.12.03 10:55)

Таких задач можно много напридумывать...
Как найти размер файда? Ответ - измерить линейкой.
Как найти число ненулевых битов в файле? Ответ - 1. Остальные биты ненулевые (если считать биты от начала файла, не начиная отсчет заново для каждого следующего байта).


 
Думкин ©   (2003-12-12 11:50) [9]

> [7] Romkin © (12.12.03 11:43)

Ты меня этим в чате запугивал? :-)))
А в чем проблема была? Я тогда не понял. Я составлял такой словарь - ужасов не набдюдал.


 
Romkin ©   (2003-12-12 11:55) [10]

В том, что словарь-то шерстить надо, а он в память не лезет, и если прикинуть, то время увеличивается оченно хорошо, у меня получалась пара дней где-то. К счастью, вовремя разобрались, а то я уже в дебри двоичных словных деревьев полез... Ограничился TStringList



Страницы: 1 вся ветка

Текущий архив: 2004.01.05;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.031 c
1-11965
CrazyHacKeRs
2003-12-19 15:37
2004.01.05
Функция удаления символов


1-11934
tovSuhov
2003-12-19 23:22
2004.01.05
Прогрессбар в ListView


6-12026
Natali_I
2003-11-03 11:00
2004.01.05
рассылка почтовых сообщений


14-12165
Magisimus
2003-12-11 15:47
2004.01.05
А где загрузочный экран в Windows XP


1-11857
IgorK
2003-12-18 16:48
2004.01.05
RichTextEdit и Word RTF файл несовместимы?