Текущий архив: 2006.04.09;
Скачать: CL | DM;
Внизбитовые последовательности Найти похожие ветки
← →
Andrey_K_M (2006-03-23 12:10) [0]Здрасте!
Может кто подскажет как лучше организовать побитовую обработку файла. Нужно загрузить в виде ноликов и единичек, а у меня только посимвольно получается. Есть какие-нибудь стандартные типы наподоие TBitFile или типа того?!
← →
Defunct © (2006-03-23 12:52) [1]> Может кто подскажет как лучше организовать побитовую обработку файла.
быстрее всего на 32х битном процессоре получится, по 32-бита за раз.
> Есть какие-нибудь стандартные типы наподоие TBitFile или типа того?!
нет
← →
Andrey_K_M (2006-03-23 13:06) [2]В смысле нет встроенных средств? Или не подскажут? А вручную организовать есть возможность?
← →
Defunct © (2006-03-23 13:09) [3]Организовывайте, кто не дает? байт - это 8 бит.
← →
Джо © (2006-03-23 13:10) [4]
> Andrey_K_M
Прочесть файл побитово возможности нет.
← →
Andrey_K_M (2006-03-23 13:30) [5]
> Прочесть файл побитово возможности нет.
Плохо! Гы... А с помощью ассемблера можно кинуть байт в регистр и разобрать его по битам?
← →
Джо © (2006-03-23 13:30) [6]> [5] Andrey_K_M (23.03.06 13:30)
> А с помощью ассемблера можно кинуть байт в
> регистр и разобрать его по битам?
Это можно даже без использования ассемблера.
← →
Сергей М. © (2006-03-23 13:31) [7]
> А с помощью ассемблера можно кинуть байт в регистр и разобрать
> его по битам?
А зачем Ассемблер, если все то же самое с неменьшим успехом делается прямо на Паскале ?
← →
Andrey_K_M (2006-03-23 13:38) [8]
> зачем Ассемблер, если все то же самое с неменьшим успехом
> делается прямо на Паскале ?
Так я про это и спрашиваю: "Подскажите пожалуйста каким методом можно воспользоваться?" Я такими вопросами не занимался и не могу сообразить как лучше сделать. Не надо мне все "разжовывать", но если кто подскажет в каком направлении идти (не в смысле общепринятых напрвалений) в этом вопросе, то дальше разбирусь. Заранее спасибо. :)
← →
Джо © (2006-03-23 13:46) [9]> [8] Andrey_K_M (23.03.06 13:38)
Копать нужно в сторону операторов and и or. Полезно будет ознакомиться со статьей по этому вопросу на сайте А. Подгорецкого (точной ссылки не помню).
← →
Сергей М. © (2006-03-23 13:47) [10]Проще некуда:
var
b: Byte; //вот некий байт, который ты прочитал из файла
i: Byte; //а это номер интересующего тебя бита в этом байте
Mask: byte; //а это маска для выделения интересующего тебя бита в байте
..
Mask := 1 shl i; //вот ты сформировал маску
if (b and Mask) = Mask then //вот ты наложил маску и посмотрел на бит через "дырку в маске"
i-й бит - это "единичка"
then
i-й бит - это "нолик"
← →
Andrey_K_M (2006-03-23 13:50) [11]
> Сергей М. © (23.03.06 13:47) [10]
> Проще некуда
Огромное мпасибо!
← →
Andrey_K_M (2006-03-23 13:50) [12]то есть спасибо!
← →
MU © (2006-03-24 16:41) [13]еще можно на TBits глянуть
← →
Amoeba © (2006-03-24 17:41) [14]Есть еще и такая ф-ия (библиотека QStrings):
function Q_BitTest(P: Pointer; Index: Integer): Boolean;
asm
BT [EAX],EDX
SETC AL
end;
Можно использовать, или отобразив файл в память, или скопировав его в MemoryStream.
Страницы: 1 вся ветка
Текущий архив: 2006.04.09;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.011 c