Чтение информации по БИТу

  • Автор темы Solex
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

Solex

#1
Уважаемые,возникла проблема чтение нулей и единиц...не по восемь ,16,или 32 знака а по 45...по 45 бит...как это сделать?....слышал,что как то можно определить длинну байта как битовый массив и читать таким образом.только как это сделать на Delphi не представляю абсолютно.

просветтите,кто сможет
 
B

Barmutik

#2
Сходу приходит вариант читать по байтам и потом уже смотреть сколько нужно бит...

Как мне кажется, и если память не обманывает, то меньше байта не запишеш и не прочитаеш ...

А каким образом туда (откуда Вы будете читать)эти биты были записаны ?
 
S

Solex

#3
А каким образом туда (откуда Вы будете читать)эти биты были записаны ?
записывались доисторическами машинами,которые переделали с перфокарт на более удобный ввод.
т.е. грубо говоря все управлялось машинными кодами и с их же помощью записывалось...как,сам не знаю...но факт,они имели прямой доступ к инфе как массиву бит,и могли читать,как строки...
просто у них :blink: другая архитектура была,повидимому.

а как байт смотреть пибитно ?
 
B

Barmutik

#4
Хмм.. стандартными логическими операциями ...

Код:
if AMyByte and 1 = 1 then - в первом бите 1 иначе 0
if AMyByte and 2 = 1 then - во втором бите 1 иначе 0
if AMyByte and 4 = 1 then - во третьем бите 1 иначе 0

и т.д.
 
B

Barmutik

#5
А читать всё равно придётся побайтно ... ну или возможно я просто не знаю как :blink:
 
S

Solex

#6
да...все как Вы и говорили
А читать всё равно придётся побайтно ...
..читаю побайтно..потом маскирую...использую правые,левые сдвиги...вобщем всё тип топ B)
спасибо,за помошь.
думаю,тема закрыта.
 
Статус
Закрыто для дальнейших ответов.