![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как считать файл по битам? [D7, WinXP]
чип © (2005-05-26 20:39:00)Подскажите, можно ли считать файл в двоичном виде, не побайтно, а побитно, т.е. в виде 0 и 1. Имеется в виду не преобразовывать на ходу, а именно сразу читать побитно.
default (2005-05-31 00:18:00) [41]KilkennyCat © (31.05.05 00:16) [100]
а чё такое полубит?:)
KilkennyCat (2005-05-31 00:16:00) [42]не вижу препятствий делению бита.
Предположим, бит можно поделить на два полубита.
Поделили.
Теперь проверяем:
один полубит плюс один полубит равно бит.
Значит, все верно.
математике начальных классов.
P.S.
вы еще скажите, что параллельные прямые не пересекаются.
Anatoly Podgoretsky (2005-05-31 00:11:00) [43]Поделим биты на единицы и нолики.
Eraser (2005-05-31 00:07:00) [44]Grief © (30.05.05 22:32) [97]
Тема более что выбор из одного варианта
А при чём тут выбор )
будет уже не информативен.
Ещё как информативен! - с абсолютной вероятностью.
Но повторюсь - это демагогика...
Grief (2005-05-30 22:32:00) [45]питы- углубления на диске. Бит неделим. Ибо так как он является наименьшей единицей информации. Меньше чем два значения информация нести не может. Не может же быть выбор из 1.5 или 0.4 варианта? Тема более что выбор из одного варианта будет уже не информативен.
Следовательно делить бит низзя
wal (2005-05-30 14:24:00) [46]
> [94] Alex Konshin © (30.05.05 14:16)
> Кстати, в качестве исторической справки: тут еще некоторые
> помнят троичные машины, и они не были чем-то уникальным.
Хороший пример. Там "было принято считать" (а отнюдь не считалось аксиомой) неделимым трит, что составляет ~1,5849625007211561814537389439478 бит.
С уважением.
wal (2005-05-30 14:20:00) [47]
> [90] Defunct © (30.05.05 13:52)
> wal © (30.05.05 10:30) [87]
> Вначале докажите, что bit делимая еденица информации, а
> потом можно и крутость демонстрировать.
Я разве где-то крутость демонстрирую?
А доказать - легко.
Возьмите любой, достаточно большой текстовый файл (а он состоит из битов). Сожмите его архиватором - размер уменьшится. А информативность не изменится. Как думаете, за счет чего? Именно от того, что в исходном файле "принято" считать, что все состояния равновероятны, и, как следствие, биты неделимы. От этой "неделимости" следует избыточность. А потом пришел Хаффман и посчитал, что предположение о равновероятности неверное, удалил избыточность, поделил биты и размер уменьшился. А информативность не изменилась. Хотя Хаффман дает только приближение к вероятности, а не саму вероятность. Посчитайте, сколько нужно бит для хранения одного из 100 равновероятных сообщений. Только без избыточности (поскольку избыточность информативности не несет).
С уважением.
Alex Konshin (2005-05-30 14:16:00) [48]Кстати, в качестве исторической справки: тут еще некоторые помнят троичные машины, и они не были чем-то уникальным.
Alex Konshin (2005-05-30 14:04:00) [49]Это был ответ на
Defunct © (30.05.05 13:52) [90]
Alex Konshin (2005-05-30 14:03:00) [50]Ну тебе же уже сказали.
Из того, что 1 ни на что не делится кроме себя среди натуральных чисел, еще не следует, что она вообщенеделима. Аналогия ясна?
Например, в том же RRL мы имеем дробные значения колическва бит на каждую перемену фазы.
А потом задумайся о количестве информации при неравной верятности событий.
В теории сжатия, криптования дробные биты - обычное дело.
Eraser (2005-05-30 14:01:00) [51]Defunct © (30.05.05 13:52) [90]
Вначале докажите, что bit делимая еденица информации
Смотря что иметь ввиду под "делимая". Бит может принимать два значения. Соответственно должны быть частицы, которые имеют только одно знчение. Но имхо это всё бессмысенная демагогика...
Defunct (2005-05-30 13:52:00) [52]wal © (30.05.05 10:30) [87]
Прикалисты это хорошо.
Вначале докажите, что bit делимая еденица информации, а потом можно и крутость демонстрировать. Но не наоборот.
> Так что учите мат часть
Спасибо за заботу ;)
Завистник (2005-05-30 13:23:00) [53]Удалено модератором
Примечание: Offtopic
alpet (2005-05-30 13:06:00) [54]Предлагаю решить автору задачу попроще - считать программным способом из оперативной памяти 1 (на крайняк 2) Байт, но не больше. Если удаться, с меня пиво. Если удаться сделать это быстрее чем считать двойное слово (DWORD) выровненное по границе 4 байта - два пива.
На лазерных дисках я слышал и вовсе информация хранится в питах...
А тему пора перемещать в конфу "Потрепаться"...
wal (2005-05-30 10:30:00) [55]
> [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.
Так что учите мат часть, а потом уже на жару все сваливайте ;).
С уважением.
Defunct (2005-05-30 02:49:00) [56]Sphinx © (29.05.05 17:02) [84]
почитайте
http://www.bytemag.ru/Article.asp?ID=998
KilkennyCat (2005-05-29 17:09:00) [57]а как хранить в памяти один бит ? :)
Массивом полубитов.
Sphinx (2005-05-29 17:02:00) [58]А глупый вопрос можно ? :)
а как хранить в памяти один бит ? :)
знаю минимальное byte, boolean не подходит:
1) так как True не обязательно 1;
2) размер в памяти все равно не 1 бит :)
isasa (2005-05-29 14:06:00) [59]32ише = 32 bit
sorry
isasa (2005-05-29 14:02:00) [60]Тема и ночью активна!
Вставлю пять копеек.
Если еще раз абстрагироваться (на уровень прикладного приложения), :))))))
то есть смысл разговаривать только о информационном потоке,
объем которого измеряется в байтах(стандарт).
Бит в случае модема, может быть довольно абстрактен,
поскольку схема "высокий уровень - низкий уровень", это уже вчера.
Кроме этого, когда поток принят(загружен в какую-то область ОП),
адресация к его содержимому - на машинное слово(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
...........