Другие языки программирования и технологии

Сколько нужно бит, чтобы закодировать 40 битную информацию ?

Привет всем ! Нужно точно узнать, сколько требуется бит под 40, 400, 4000 битное сообщение, хотя 40 будет достаточно, сам уже перемножу. и будет вообще идеально если Вы подскажете какой бит именно для чего нужен. Спасибо !
Зависит от хреновости канала передачи данных, протокола обмена информацией, алгоритмов контроля и восстановления ошибок и от фантазии программиста.
Можно для всей последовательности данных любой длины использовать только 1 бит четности, но надежность детектирования ошибки будет, мягко говоря, не айс.
Можно разбить передаваемые данные на порции, напр. по 8 бит, и каждую порцию снабжать своим битом четности (в одном из режимов RS-232 так и делается) . Соответственно на 40 бит - будет 5 доп. бит информации, на 4000 - 500 и т. д.
Можно снабжать весь поток одним байтом контрольной суммы: или тупо суммировать передаваемые байты, или также тупо их ксорить. Таким макаром делался контроль напр. в Спектруме.
Можно расширить контрольную сумму до 16 бит, как в Радио-86РК, Орионе и Специалисте. Там дополнительно суммировался и бит переноса.
Можно снабжать поток данных CRC16 или понадежнее CRC32 (cоответственно 16 и 32 бита) .
Можно вобще хешировать по алгоритмам MD5 (128 бит) , SHA-1 (160 бит) , или другие. Либо выдумать свой алгоритм хеширования.

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

Что у тебя за алгоритм - у меня телепатических способностей не хватает.
АВ
Андрей Ведмедь
20 328
Лучший ответ
Егоргеоргий Решетов У меня не алгоритм, был разговор о перфокартах и то, что информация в них записывается размером в 40 бит, а затем N-число битов для проверки этой записи и все повторяется заного - 40 бит и опять N-битов для проверки записи. Вот я и хотел узнать чему равно N, т.к. т.о. образом доказывается вопрос " а почему именно 512, а не 500 бит ? Или почему 1024, а не 1000 бит ? Есть N равно 1 биту, то выходит 40 битные записи * 25 ( кол-во записей ) = 1000 бит + 25 бит, которые шли на проверку после каждых 40, но - 1 т.к. проверка с 0 по 40 бит не осуществлялась. Получается 1024бит, т.е. в принципе доказательство есть. Но а как доказать, почему в сообщении размером 4000 бит в целом уходит 4096, а не 4099, исходя из предыдущего примера, не не ясно. Вот это и надо узнать, господа !
Для 40-битного сообщения нужно 40 бит. Дальше сам :)
Вопрос примерно как сколько сантиметров нужно для 40-сантиметрового отрезка... .
Evgenij Tkacenko
Evgenij Tkacenko
64 481
Егоргеоргий Решетов я не это имел ввиду. Чтобы закодировать те 40 бит инфы нужно 40 бит,ясно, ну а сколько нужно ещё плюс бит,чтобы проверить, что не произошло сбоев, к примеру.. т.е. сколько еще к 40 прибавляется служебной инфомрации, в битах
посмеялся) суть вопроса полностью надо писать)