Главная страница
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.032 c
1-11992
Nix
2003-12-18 17:04
2004.01.05
Множество форм


1-11883
hokka
2003-12-18 13:59
2004.01.05
Проблемы с кодировкой


14-12105
maga001
2003-12-12 22:16
2004.01.05
Одно


8-11999
XAli
2003-08-30 09:12
2004.01.05
сигнал заданной частоты и длительности на саунд


7-12173
Dima_dvp
2003-10-23 03:38
2004.01.05
Global HOOK без DLL.. Это как? Или вообще ни хук?