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

Вниз

Изменение позиции в файле поБИТно   Найти похожие ветки 

 
Zaletchik   (2005-10-27 09:55) [0]

Можно ли при работе с файлом изменять текущую позицию не побайтно, а побитно? Заранее благодарен.


 
Ega23 ©   (2005-10-27 09:55) [1]

Конечно можно.


 
BiN ©   (2005-10-27 09:56) [2]

никак.


 
Digitman ©   (2005-10-27 09:57) [3]


> Zaletchik   (27.10.05 09:55)


наименьшая адресуемая единица данных - байт.


 
Ega23 ©   (2005-10-27 10:01) [4]

Читаешь побайтно, а потом 8 раз адресуешься побитно.


 
isasa ©   (2005-10-27 10:37) [5]

Digitman ©   (27.10.05 09:57) [3]
Боюсь, что для дисковых операций - это кластер.


 
Чапаев ©   (2005-10-27 10:59) [6]


> наименьшая адресуемая единица данных - байт.

По определению.


> Боюсь, что для дисковых операций - это кластер.

Сектор, если на физическом уровне. Хотя умельцы и там умудряются побайтную адресацию использовать. ;-) (см. 2B programmers group "Защита от несанкционированного доступа")


 
tesseract ©   (2005-10-27 11:11) [7]


> Можно ли при работе с файлом изменять текущую позицию не
> побайтно, а побитно? Заранее благодарен.


Невозможно да и не нужно.
Читай файл блоками по многу байт. И потом выделяй биты.

isasa прав драйвер файловой системы (по крайней мере в windows 95+) всё равно считает кластер, а то и несколько целиком. Это связано с механизмом кэширования и упреждающего чтения/записи.


 
isasa ©   (2005-10-27 11:18) [8]

Ну, раз пошла такая пьянка...
Боюсь, что .... :)
Сабжевый вопрос, в том виде, каком его понимает автор, лишен смысла.

если на физическом уровне
Информация читается треками(цилиндрами) за один оборот диска. А контроллер уже решает, есть требуемый сектор в буфере, или нет.

Ну а в буфере, как всегда, адресация побайтовая.


 
Zaletchik   (2005-10-28 16:52) [9]

Спасибо за помощь!


 
tesseract ©   (2005-10-28 20:48) [10]


> Информация читается треками(цилиндрами) за один оборот диска.


Цилиндры в современных винтах вещь сугубо логическая. Реально всё решает контроллер.


 
Германн ©   (2005-10-29 01:42) [11]

Кластеры, трэки, цилиндры и т.д. -  это, конечно, СУПЕР.
Но ведь в сабже фигурирует файл, а не диск!?


 
Anatoly Podgoretsky ©   (2005-10-29 11:55) [12]

Файл можно рассматривать как непрерывный поток битов. Тогда разделяем обязанности, пусть система позиционирует побайтно, а мы в программе побитно, путем сдвигов и пересылок.
Если задачу правильно понял, то так ее и решать.

01000101.00101010.01010100.10010101.00101010.1010... ->
00101001.01010010.10100100.10101001.01010101.0...

Для удобства можно задействовать и TBits



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

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

Наверх




Память: 0.49 MB
Время: 0.07 c
2-1130828309
DimaDima
2005-11-01 09:58
2005.11.20
Требует всё больше памяти.


3-1128938761
Monk
2005-10-10 14:06
2005.11.20
Полоса прокрутки DBLookupCombo/ListBox


14-1130323680
Digitman
2005-10-26 14:48
2005.11.20
TOpenDialog.OnIncludeItem


8-1120145991
Radgar
2005-06-30 19:39
2005.11.20
Разбивание Timage на секции.


2-1130959225
Sysanin
2005-11-02 22:20
2005.11.20
TServerSocket и TClietSocket