2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Эффективность байта
Сообщение01.08.2013, 16:31 


29/07/08
536
Википедия утверждает, что байт - единица хранения и обработки информации. Так как байт состоит из восьми битов, то байт может принимать $256$ различных значений. Это известная таблица кодировок ASCII. Некоторое сообщение можно представить, как конечная последовательность таких символов. Следовательно, это сообщение можно представить числом в системе счисления с основание $256$. Но математически доказали, что оптимальное основание должно быть $3$.
Прошу объяснить, почему так неэффективно кодируется информация.
Или подскажите в каком месте мои рассуждения ошибочны...

 Профиль  
                  
 
 Re: Эффективность байта
Сообщение01.08.2013, 16:40 
Заслуженный участник
Аватара пользователя


06/04/10
3152
Побережный Александр в сообщении #751069 писал(а):
байт - единица хранения и обработки информации

Для "машинного языка". Количество бит в байте зависит от машины...

 Профиль  
                  
 
 Re: Эффективность байта
Сообщение01.08.2013, 16:43 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Для начала напишите, в каком именно смысле основание $3$ является оптимальным, а потом будем думать, какое отношение эта оптимальность может иметь к кодированию сообщений.

 Профиль  
                  
 
 Re: Эффективность байта
Сообщение01.08.2013, 16:53 
Заслуженный участник
Аватара пользователя


06/04/10
3152
Е-ичная - the best! :idea:

 Профиль  
                  
 
 Re: Эффективность байта
Сообщение01.08.2013, 18:01 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Сетунь ещё себя покажет! :lol:

 Профиль  
                  
 
 Re: Эффективность байта
Сообщение01.08.2013, 18:36 
Заслуженный участник


09/09/10
3729
Побережный Александр в сообщении #751069 писал(а):
Это известная таблица кодировок ASCII.

В ней только 128 символов, с кодами от 0 до 127. Коды 128–255 не определены.

Побережный Александр в сообщении #751069 писал(а):
Прошу объяснить, почему так неэффективно кодируется информация.

Ну что значит неэффективно? Это очень удобное представление для обработки и отображения. Если вас волнует занимаемое место при хранении — сжимайте.

 Профиль  
                  
 
 Re: Эффективность байта
Сообщение01.08.2013, 18:46 
Заслуженный участник
Аватара пользователя


11/03/08
9912
Москва
Кстати, байт и октет не синонимы, хотя найти машину с не 8-битным байтом сейчас трудно.

(Оффтоп)

Экзамен по информатике. Барышня явно тонет, и явно достойна сочувствия. Преподаватель задаёт вопрос попроще, чтобы поставить законную тройку:
- Сколько бит в байте?
Барышня растерянно оглядывается, сзади тихий шепоток, барышня прислушивается и восклицает:
- Восемь!
Преподаватель уже тянет руку ставить "3", но барышня вдруг продолжает:
- А каждый четвёртый високосный, и в нём девять!

 Профиль  
                  
 
 Re: Эффективность байта
Сообщение01.08.2013, 22:35 


05/09/12
2587
Побережный Александр в сообщении #751069 писал(а):
Следовательно, это сообщение можно представить числом в системе счисления с основание
любым. Непонятно, как это связано с байтом, количеством бит в нем и волшебным числом 3.

 Профиль  
                  
 
 Re: Эффективность байта
Сообщение01.08.2013, 23:01 
Заслуженный участник
Аватара пользователя


23/07/05
17977
Москва
И, кстати, в "восьмибитном" байте может быть на самом деле 9 бит. Девятый бит для программ невидим, и содержит 1 или 0 в зависимости от чётности-нечётности числа единичных разрядов в восьми информационных битах.
Я читал, что раньше это использовалось для повышения надёжности (контроль сбоев). Как сейчас обстоит дело, не знаю.

 Профиль  
                  
 
 Re: Эффективность байта
Сообщение02.08.2013, 00:04 
Заслуженный участник


09/09/10
3729
Someone в сообщении #751181 писал(а):
Как сейчас обстоит дело, не знаю.

Так же — ECC-схемы на модулях памяти никуда не девались. Но это деталь аппаратной реализации, если честно, и к разрядности байта отношения не имеет. Потому что обычно к шестидесяти четырем битам добавляют восемь дополнительных бит, т.е. используют $[72,64,4]_2$-ый код, получаемый из $[127,120,3]_2$ кода Хэмминга укорочением на $56$ бит и добавлением бита проверки четности — это "SECDED" код, исправляющий одну и обнаруживающий две ошибки.

 Профиль  
                  
 
 Re: Эффективность байта
Сообщение02.08.2013, 01:17 


15/05/13
29
Ну вот каждый раз, когда в Интернете начинают обсуждать что-то про байты, обязательно появляются виртуальные эрудиты, которым дико неймётся в тысячный раз вставить свои пять копеек о том, что в байте может быть не восемь бит. Они бы ещё вспомнили, что слово «самолёт» может означать самоходный паром или ручной ткацкий станок, а слово «пароход» — железнодорожный локомотив.

Потом, естественно, все начинают блистать познаниями в том, как надо по-правильному употреблять приставки «кило-» и «мега-» в применении к единицам информации, а также с прописной или строчной буквы их сокращать… И заканчивается всё тем, писать ли «на Украину» или «в Украину». А то и вообще до Гитлера доходит…

По сути дела: уважаемый зачинатель обсуждения, а откуда у вас информация, что «математически доказали, что оптимальное основание должно быть 3»? Приведёте ссылку на доказательство, например?

 Профиль  
                  
 
 Re: Эффективность байта
Сообщение02.08.2013, 01:19 
Заслуженный участник


16/02/13
4206
Владивосток
Получена тройка, если интересно, примерно таким рассуждением: пусть у нас есть $n$ карточек. Возьмём основание системы счисления $x$, напишем на каждой карточке цифру. Получим $\frac nx$ комплектов, которыми можно выложить $x^{\frac nx}$ различных чисел. Максимум достигается при $x=e$, среди целых — $3$. Однако, для основания $2$ можно применить грязный хак: на одной стороне карточки пишем 0, на другой — 1. Тем самым получаем больше комплектов. Будь карточки трёхсторонними, глядишь, многое сложилось бы иначе.

-- 02.08.2013, 09:23 --

И, кстати: всё это имеет достаточно мало отношения к восьмибитности байта. Минимальные адресуемые ячейки каких только размеров не имели...

 Профиль  
                  
 
 Re: Эффективность байта
Сообщение02.08.2013, 02:16 
Аватара пользователя


25/02/10
687
Память для некоторых графических процессоров, оптимизированных для работы с 3D графикой, частенько имеет "расширенный" байт - энное колличество бит (разное в разных процессорах) отведено под значения Z-буффера.

(Оффтоп)

Ну вот, каждый раз, когда la1488 хочется уличить сообщество в пустословии, найдётся какой-нибудь виртуальный эрудит, которому "дико неймётся в тысячный раз вставить свои пять копеек" о том, что лучше бы la1488 ограничить свои высказывания Украиной и Гитлером. Чтобы не срамиться.

 Профиль  
                  
 
 Re: Эффективность байта
Сообщение02.08.2013, 10:05 


29/07/08
536
Правильный ли я вывод сделал, что кодировка ASCII создана для взаимодействия человека и машины. То есть удобство использования в ущерб эффективности. В языках машинного уровня и коды другие...

 Профиль  
                  
 
 Re: Эффективность байта
Сообщение02.08.2013, 11:15 
Заслуженный участник
Аватара пользователя


11/03/08
9912
Москва
Someone

В аппаратном представлении может быть и 10. Хотя чаще контрольные биты относятся не к байту, а к группе (как уже указывали - может быть и 8 бит на 64 бита информационных), хотя вот на лентопротяжках было 9 дорожек (8 на байт, 9 контроль чётности;

(Оффтоп)

на этом я сильно накололся лет 35 тому - мне, как особо наглому студенту, предложили написать перекодировку лент с "Минск-32" в ЕС ЭВМ - само-то перекодирование я сделал, но там контроль был "до чётного" в одном и "до нечётного" в другом, и побороть восприятие всех байтов, как огромной бесперывной ошибки я не смог
)
Но это именно "железо", а не программное представление.

la1488
Я верю, что Вам никогда не приходилось работать на машинах с не-байтовой организацией. Не соблаговолите ли указать, чего Вы ещё не знаете, дабы не порушить невзначай Вашей интеллектуальной невинности?

Побережный Александр
Восьмибитность байта не имеет никакого отношения к эффективности представления информации. Это всего лишь условное соглашение, компромисс между "числовыми" требованиями, адресуемым 36-48 битным "словом" (10-20 десятичных разрядов в плавающем представлении) и "буквенными", требовавшими не менее 7 бит для кодирования 26 строчных, 26 прописных букв, 10 цифр и некоторого числа знаком препинания (а для передачи в линию - ещё и служебных посылок телеграфии), что даёт более 64 знаков, так что 6 мало (хотя 6-битный TRANSCODE имел некоторое употребление, и даже 5-битный использовался, но требовал "переключения регистров" буквенный/цифровой или РУС/ЛАТ/ЦИФ), что дало 7-битный ASCII, а затем и 8-битный "расширенный ASCII"). В IBM/360 выбрали компромисс - 32 бита для чисел (что мало) и 8 бит для символов (что для США много, а для прочего мира, с кириллицей, греческим, ивритом, урду и пр. мало). Так получили 8-битный "байт" (то есть октет, байт это всё же "минимальная непосредственно адресуемая область памяти", хотя 6-битные и 9-битные байты почти вымерли).
Но к эффективности имеет отношение не условная группировка "в шеренгах по восемь", а представление минимально информационной единицы. Если она принимает $n$ состояний, то для представления числа $N$ надо $\log_n N$ разрядов и $n\log_n N=\frac {n \ln N}{\ln n}$ состояний, суммируя по всем элементам. Для заданного $N$ минимум достигается при $n=e=2.718281828459...$, что, как дробное число, нереализуемо (хотя идея применить это в "разрядно-аналоговых ЭВМ" была высказана, но лишь в самом общем виде, без конкретики), однако более аккуратное рассмотрение зависимости показывает, что для нахождения целочисленного оптимума достаточно рассмотреть ближайшие значения 2 и 3, благо функция одноэкстремальна. Для $n=2$ коэффициент при логарифме $N$ равен $2.885$, для $n=3$ он $2.731$ вместо "оптимальнейшего" при $n=e$, равного $2.7183$, то есть троичная система на 5% лучше двоичной.
Сам по себе такой выигрыш не слишком существенен, однако, если бы триггер на три состояния состоял бы из 3 транзисторов, это могло быть востребовано. В реальности же трёхсоставной элемент был реализован на магнитном усилителе, миниатюризовать который не удалось. Так интересная идея была убита скучной серой технологией. К счастью, потеря 5% не столь фатальна.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group