Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.07.31;
Скачать: [xml.tar.bz2];

Вниз

Как считать файл по битам?   Найти похожие ветки 

 
Defunct ©   (2005-05-29 05:14) [80]

Marser ©   (29.05.05 01:10) [78]

C памятью вообще истинный дурдом. Вся память предстваляет собой матрицу строк и столбцов. Строка выбирается адресом строки и сигналом RAS, столбец адресом столбца + CAS. При подаче сигнала CAS ячейки памяти обновляются.
Конроллеру памяти постоянно приходится "пробегаться" по всем столбцам памяти для регенерации. Процессор и DMA контроллер его вечно отвлекают своми глупыми обращениями "не туда куда надо", не к тем столбцам. Посему контроллер памяти считывает по возможности как можно больше элементов одного столбца при обращении к любому элементу этого столбца и хранит его в "кеше", а процессору выдает то, что тот заказывал. При этом процессор понятия не имеет как контроллер физически адресует ту самую память, читает он что-либо или не читает(побитово, побайтово, или вообще по 256 разрядов сразу), записывает или не записывает. При записи еще более "прикольней". Продвинутые контроллеры могут для ускорения работы вообще ничего не записывать до тех пор пока не накопится приличный объем, чтобы записать сразу целый столбец.


 
Anatoly Podgoretsky ©   (2005-05-29 11:04) [81]

SergP ©   (28.05.05 02:52) [76]
Это в современных дисковых устройствах, где даже об уровне секторов говорить нельзя, а тем более о битах и байтах, полностью отсутствуе прямой доступ к данным, только через порты контроллера. Но так было не всегда, Были 8 дюямовые флоппи-диски, где чтение запись делались программно, вот там производился прямой последовательный доступ к битам. У меня до сих пор где то валяется такой дисковод.


 
isasa ©   (2005-05-29 14:02) [82]

Тема и ночью активна!
Вставлю пять копеек.
Если еще раз абстрагироваться (на уровень прикладного приложения), :))))))
то есть смысл разговаривать только о информационном потоке,
объем которого измеряется в байтах(стандарт).

Бит в случае модема, может быть довольно абстрактен,
поскольку схема "высокий уровень - низкий уровень", это уже вчера.

Кроме этого, когда поток принят(загружен в какую-то область ОП),
адресация к его содержимому - на машинное слово(32bit, 64bit) - это с точки зрения регистров пр-ра,
или как скажут компилятору;
и  все определяется скоростью выполнения

var buff: array of Cardinal; // 32 ише,   можно char, Longword
IsBitSet: boolean;

.............

IsBitSet:=($01 and buff[i]);  //char
IsBitSet:=($0001 and buff[i]);  //Cardinal;
IsBitSet:=($00000001 and buff[i]); // Longword
...........


 
isasa ©   (2005-05-29 14:06) [83]

32ише = 32 bit
sorry


 
Sphinx ©   (2005-05-29 17:02) [84]

А глупый вопрос можно ? :)
а как хранить в памяти один бит ? :)
знаю минимальное byte, boolean не подходит:
1) так как True не обязательно 1;
2) размер в памяти все равно не 1 бит :)


 
KilkennyCat ©   (2005-05-29 17:09) [85]

а как хранить в памяти один бит ? :)

Массивом полубитов.


 
Defunct ©   (2005-05-30 02:49) [86]

Sphinx ©   (29.05.05 17:02) [84]
почитайте
http://www.bytemag.ru/Article.asp?ID=998


 
wal ©   (2005-05-30 10:30) [87]


> [61] Polevi ©   (27.05.05 16:15)
> Бит — это минимальное количество информации, составляющее
> выбор одного из двух возможных вариантов

Из двух возможных и равновероятных вариантов

> [63] Defunct ©   (27.05.05 16:26)
> wal ©   (27.05.05 15:33) [60]
> > а потом скажи тогда сколько бит в ните и дите.
> В чем?
> Жара плохо влияет или научной фантастики начитались?

Жара на меня вообще не влияет, и начитался я не фантастики, а теории информации. Определения бита я от Вас так и не дождался, так что проведу ликбез.
Бит - это количество информации определяемое логарифмом по основанию два от величины, обратно пропорциональной вероятности появления того или иного состояния.
Нит и дит - это всего лишь переход от Log-2 к Log-e или Log-10.
Так что учите мат часть, а потом уже на жару все сваливайте ;).

С уважением.


 
alpet ©   (2005-05-30 13:06) [88]

Предлагаю решить автору задачу попроще - считать программным способом из оперативной памяти 1 (на крайняк 2) Байт, но не больше. Если удаться, с меня пиво. Если удаться сделать это быстрее чем считать двойное слово (DWORD) выровненное по границе 4 байта - два пива.

На лазерных дисках я слышал и вовсе информация хранится в питах...
А тему пора перемещать в конфу "Потрепаться"...


 
Завистник   (2005-05-30 13:23) [89]

Удалено модератором
Примечание: Offtopic


 
Defunct ©   (2005-05-30 13:52) [90]

wal ©   (30.05.05 10:30) [87]

Прикалисты это хорошо.
Вначале докажите, что bit делимая еденица информации, а потом  можно и крутость демонстрировать. Но не наоборот.

> Так что учите мат часть
Спасибо за заботу ;)


 
Eraser ©   (2005-05-30 14:01) [91]

Defunct ©   (30.05.05 13:52) [90]
Вначале докажите, что bit делимая еденица информации


Смотря что иметь ввиду под "делимая". Бит может принимать два значения. Соответственно должны быть частицы, которые имеют только одно знчение. Но имхо это всё бессмысенная демагогика...


 
Alex Konshin ©   (2005-05-30 14:03) [92]

Ну тебе же уже сказали.

Из того, что 1 ни на что не делится кроме себя среди натуральных чисел, еще не следует, что она вообще неделима. Аналогия ясна?
Например, в том же RRL мы имеем дробные значения колическва бит на каждую перемену фазы.
А потом задумайся о количестве информации при неравной верятности событий.
В теории сжатия, криптования дробные биты - обычное дело.


 
Alex Konshin ©   (2005-05-30 14:04) [93]

Это был ответ на
Defunct ©   (30.05.05 13:52) [90]


 
Alex Konshin ©   (2005-05-30 14:16) [94]

Кстати, в качестве исторической справки: тут еще некоторые помнят троичные машины, и они не были чем-то уникальным.


 
wal ©   (2005-05-30 14:20) [95]


> [90] Defunct ©   (30.05.05 13:52)
> wal ©   (30.05.05 10:30) [87]
> Вначале докажите, что bit делимая еденица информации, а
> потом  можно и крутость демонстрировать.

Я разве где-то крутость демонстрирую?
А доказать - легко.
Возьмите любой, достаточно большой текстовый файл (а он состоит из битов). Сожмите его архиватором - размер уменьшится. А информативность не изменится. Как думаете, за счет чего? Именно от того, что в исходном файле "принято" считать, что все состояния равновероятны, и, как следствие, биты неделимы. От этой "неделимости" следует избыточность. А потом пришел Хаффман и посчитал, что предположение о равновероятности неверное, удалил избыточность, поделил биты и размер уменьшился. А информативность не изменилась. Хотя Хаффман дает только приближение к вероятности, а не саму вероятность. Посчитайте, сколько нужно бит для хранения одного из 100 равновероятных сообщений. Только без избыточности (поскольку избыточность информативности не несет).

С уважением.


 
wal ©   (2005-05-30 14:24) [96]


> [94] Alex Konshin ©   (30.05.05 14:16)
> Кстати, в качестве исторической справки: тут еще некоторые
> помнят троичные машины, и они не были чем-то уникальным.
Хороший пример. Там "было принято считать" (а отнюдь не считалось аксиомой) неделимым трит, что составляет ~1,5849625007211561814537389439478 бит.

С уважением.


 
Grief ©   (2005-05-30 22:32) [97]

питы- углубления на диске. Бит неделим. Ибо так как он является наименьшей единицей информации. Меньше чем два значения информация нести не может. Не может же быть выбор из 1.5 или 0.4 варианта? Тема более что выбор из одного варианта будет уже не информативен.
Следовательно делить бит низзя


 
Eraser ©   (2005-05-31 00:07) [98]

Grief ©   (30.05.05 22:32) [97]
Тема более что выбор из одного варианта


А при чём тут выбор )

будет уже не информативен.

Ещё как информативен! - с абсолютной вероятностью.

Но повторюсь - это демагогика...


 
Anatoly Podgoretsky ©   (2005-05-31 00:11) [99]

Поделим биты на единицы и нолики.


 
KilkennyCat ©   (2005-05-31 00:16) [100]

не вижу препятствий делению бита.
Предположим, бит можно поделить на два полубита.
Поделили.
Теперь проверяем:
один полубит плюс один полубит равно бит.
Значит, все верно.
математике начальных классов.

P.S.
вы еще скажите, что параллельные прямые не пересекаются.


 
default ©   (2005-05-31 00:18) [101]

KilkennyCat ©   (31.05.05 00:16) [100]
а чё такое полубит?:)


 
Kilkennycat ©   (2005-05-31 00:24) [102]

default ©   (31.05.05 00:18) [101]

Это наследие инопланетян. От их валюты пошло.

Как ни смешно, если сумма двух полубитов равняется биту, то нет доказательств, что конечная единица информации - бит.
необязательно рассматривать все только с точки зрения электронной реализации.


 
default ©   (2005-05-31 00:32) [103]

Kilkennycat ©   (31.05.05 00:24) [102]
если не учитывать требования адекватности практике и смотреть на это лишь абстрактно, то да


 
Kilkennycat ©   (2005-05-31 00:37) [104]

default ©   (31.05.05 00:32) [103]

Могу и практический пример привести. В советское время, в магазине музыкальных инструметов продавались медиаторы (из них дымовуха хорошо получалась). Один медиатор стоил полкопейки. Их можно было купить только два сразу, но факт остается фактом, цена одного - полбита.


 
default ©   (2005-05-31 00:42) [105]

Kilkennycat ©   (31.05.05 00:37) [104]
неа, не корректный контрпример
копейки это условно неделимая денежная единица, бит же - принципиально
что и обуславливает то что минимальное основание у позиц-ых с/c это 2, меньше некуда ибо тогда мы не сможем числа различать(будут одинаковые обозначения для всех чисел)


 
Anatoly Podgoretsky ©   (2005-05-31 00:48) [106]

Полкопейки это не цело, а вот ноли и единица целые числа и их два.


 
Kilkennycat ©   (2005-05-31 00:52) [107]

Неа, не принципиально. Бит - это удобная единица.
Ну ладно, як електронщик, вспомню я об высокоимпендансном состоянии :)
Имеем: нолик, единичка и .... ничего! Вау! Однако, отсутствие информации, это тоже - информация. :)


 
Defunct ©   (2005-05-31 02:20) [108]

Alex Konshin ©   (30.05.05 14:03) [92]
Аналогия не верна.

wal ©   (30.05.05 14:20) [95]
Уважаемый г-н wal говорить об энтропии применительно к биту, думаю, если сказать не совсем корректно будет очень мягко сказано.

Как говорил инструктор по вождению - "развелось тут теориков понимаешь". Давайте ближе к делу. Может ли принять конкретно 0-й бит регистра AL не два значения, а скажем 1.2? Можно ли сделать ячейку памяти которая бы принимала не 2 значения а 1.5?

Ответ очевиден - нет.
Поэтому я остаюсь убежденным в том, что бит - неделимая еденица информации.

С глупой теорией о том, что оптимальной системой счисления является система с основанием E я знаком. Однако от такой теории толку с гулькин нос в реальной жизни. Транзистор умеет лишь только инвертировать сигнал.

wal ©   (30.05.05 14:24) [96]
Считать что ли разучились? трит принимает 3 значения, и равен он 1.5 бит.


Kilkennycat ©   (31.05.05 00:52) [107]
Вы электронщик, и прекрасно должны знать, что "ничего" не бывает. Если подать "ничего" на вход, то прочитается либо 0 либо 1 взависимости от того как читается с инверсией или без.


 
KilkennyCat ©   (2005-05-31 02:26) [109]

Ну вот, пришел Defunct и разрушил сказку :)


 
Defunct ©   (2005-05-31 02:28) [110]

> говорить об энтропии применительно к биту

Вот и сам выразился некорректно. Имел в виду: говорить о бите как об энтропии.


 
KilkennyCat ©   (2005-05-31 02:29) [111]

Хотя на самом деле, с точки зрения именно электронщика, третье состояние - это ничего. Ибо ноль и единица - приравниваются к диапазонам напряжения, а тут - ничего... Это уж программеры могут считать сие - нулем.


 
KilkennyCat ©   (2005-05-31 02:33) [112]


> Если подать "ничего" на вход, то прочитается либо 0 либо
> 1 взависимости от того как читается с инверсией или без.


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


 
Defunct ©   (2005-05-31 02:44) [113]

KilkennyCat ©   (31.05.05 02:33) [112]

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


 
Defunct ©   (2005-05-31 02:47) [114]

> KilkennyCat
Где-то читал рекомендации не соединять 2 выхода с открытым коллектором. Книжки разные бывают ;>


 
Alex Konshin ©   (2005-05-31 03:50) [115]

Тебе же уже привели пример троичной машины.
И если ты не знаешь теории, то это не значит, что ее не существует и так не бывает.
Век живи - век учись, и ведь все равно дураком обзовут.


 
Defunct ©   (2005-05-31 04:13) [116]

Alex Konshin ©   (31.05.05 03:50) [115]

Причем здесь троичная машина? Которая к тому же себя не оправдала.
Речь о неделимости бита, в машинах с двоичной системой счисления.


 
Defunct ©   (2005-05-31 04:20) [117]

Теории бывают неудачными и неприменимыми. Примером может послужить Теория Относительности уважаемого Эйнштейна. (применение этой теории дальше фантастических рассказиков и красочных фильмов не ушло)


 
Alex Konshin ©   (2005-05-31 04:49) [118]

Насчет оправданности троичной машины - это еще вопрос. Их успешно использовали и очень широко. От троичности отказалиь отнюдь не из-за неделимости бита.

А криптография и сжатие тоже из разряда фантастики?


 
wal ©   (2005-05-31 09:19) [119]


> [116] Defunct ©   (31.05.05 04:13)
> Речь о неделимости бита, в машинах с двоичной системой счисления.
Ну вот, начались оговорки. Изначально речь в [44] шла о битах информации, причем о двоичных машинах никто не говорил. В двоичной машине бит неделим. Но это не бит информации, это бит данных, как говорят в Одессе - две большие разницы.

> Считать что ли разучились? трит принимает 3 значения, и
> равен он 1.5 бит.
Ну вот вы и сами бит поделили :) . А в трите таки не полтора бита, а больше :) Байт принимает 256 значений, значит в нем 128 бит?

С уважением.


 
wal ©   (2005-05-31 09:25) [120]


> [97] Grief ©   (30.05.05 22:32)
>Меньше чем два значения информация нести не может.

Угу. Какова вероятность встретить на улице динозавра? 50/50. Или встречу, или не встречу :) .

С уважением.



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

Форум: "WinAPI";
Текущий архив: 2005.07.31;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.7 MB
Время: 0.041 c
3-1119457625
serguncho
2005-06-22 20:27
2005.07.31
Firebird


3-1119618887
vok
2005-06-24 17:14
2005.07.31
Название поля


6-1113811986
MaximP
2005-04-18 12:13
2005.07.31
Несколько програм на одном порту


14-1120652379
Empleado
2005-07-06 16:19
2005.07.31
The Source


1-1121165462
ZSergey
2005-07-12 14:51
2005.07.31
Как вывести цветные строки в Memo?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский