размер байта
А почему солнце встаёт на востоке и садится на западе? А потому что!
Почему число бит кратно двойке, вроде бы, ещё понятно, а вот почему 2^3, а не 2^4 или 2^2 ?
Думаю, это сложилось исторически, не более того, особой логики здесь нет. Это подтверждает и статья wikipedia, которую привел Odissey_.
По поводу не всегда. Те, кто работал с микропроцессорами PIC в курсе, какие там бывают байты. ;) Это только у интела в его х86 линейке байт всегда 8 бит. :)
P.S. А вообще, сказать по секрету, 8 бит выбрали в качестве размерности американские шаманы, жившие в прошлом тысячелетии. Они ещё и английский язык выбрали - оказалось, что компьютер проще научить английскому, чем человека компьютерному.
Ты проверял?.. И так каждый раз - встаёт на востоке, а садится на севере?.. Только ради Бога - ничего не трогай! :D
Вот блин... сначала погода - фиг знает что. Теперь вращение какое-то странное... Страшно, братцы. СТРАШНО!!! :D
А ты думал, где оно садится? На западе что ли? Не-е-ет, брат, Запад солнышко пока к рукам не прибрал. :)
ну да его прибрали к лапам белые медведи на велосипеде:), чувствую скоро опять война начнется, обнаружат, что мишутки скрывают у себя на северном полюсе ядерную бомбу, а после военного вторжения Солнце станет садиться на Западе.:)
Вот потому порой русские буквы и не передаются :( Приходится транслит пользовать.
А 5 байт - это только если на шестнадцатеричных байтах кодить :D
Байт примечателен тем, что представляется наиболее конкретной и четкой единицей измерения (в данном случае, информации), чем любая, например, физическая. Невозможно определить, скажем, 100 кг золота, даже с использованием сверх-точных весов, не учитывая при этом некоторую погрешность; зато можно точно определить 100 килобайт:)
В современном обиходе уже практически никто не оперирует словом байт. Что такое байт? Байт в общем употреблении обозначает именно ту некоторую незначительную погрешность, которой можно пренебречь :) Тем более когда информация по существу измеряется не менее, чем мегабайтами. Так, например, 1 мегабайт равен примерно 1 минуте песни (в MP3), 700 мегабайт - это полуторачасовой фильм в среднем качестве или трехчасовой в слабом, 1 мегабайт - простая программа, 100 мегабайт - сложная. Получается, что размерностью в байтах можно определять и время, и качество, и сложность :) Однако, если извлечь хотя бы один байт из любой программы она уже может не запуститься; если извлечь один байт из текста, то читающий человек обязательно воспримет это как помарку, а читающий автомат застопорится и выдаст ошибку. Из этого также следует, что человек лучше всего чувствует единичный байт как одну букву текста (ну или как пол буквы - в некоторых восточных иероглифических языках, где каждая буква кодируется двумя байтами;).
И не спроста! Ведь байт создавался как минимальная единица обмена информацией (см. Wikipedia). Но так как информацией оперирует процессор, то байт является именно буквой языка, понимаемого этим процессором.
Понятие бита родилось из построения четкой логики, являющейся базой для любого научно-технического развития... А началось всё с лампочки :) Либо она освещает, то есть включена, либо темно, как и прежде. Понятие четкой логики чуждо природному человеческому мышлению, потому что ни один человек даже не может, например, четко формулизовать ощущение чувства голода ;) Зато любой механизм просто остановится, если ему не будет подаваться энергия. Так появился бит и так называемая двоичная логика.
Мир стал усложняться, так как стали усложняться и потребности, и, никак иначе, а за счет наростающего интереса к электрону... Появилось две лампочки :) Но лучше рассмотреть одну лампочку с двумя переключателями. Допустим, она должна гореть при включенном тольком одном переключателе или при включении сразу двух и т.д. Так появилась двоичная логика и арифметические операции двоичной логики.
Замечу, что в ходе развития электроники были использованы те же самые "лампочки". Только саму бинарную лампочку заменил триггер, а операции двоичной логики - специальные микросхемы, которые два (и более) входящих сигналов (битов) превращали в полне конкретный результирующий один, в зависимости от операции. Таким же образом появилась двухбитовая логика.
И всё было бы хорошо...
Но понадобилась операция умножения (!). Ведь при умножении, например, двуразрядных чисел необходимо резервировать под результат вдвое больше, то есть уже четыре разряда. Очевидно (а может быть и не очень), что и при делении также "удобно" оперировать в двоичной логике числами с разрядностью, являющейся некоторой степенью 2ки, то есть 2, 4, 8, 16 и т.д....
Тогда почему же байтом начали называть именно 8 двоичных разрядов, а не 4 или 16, например? Тут следует вернуться к процессорам! Ведь, один байт должен представлять одну букву в понимании процессора, то есть одну конкретную команду управления, обозначать конкретную операцию. Так из четырех разрядов можно получить только 16 различных команд, которых, очевидно, недостаточно; а из 16 рязрядов можно получить 65536 команд, которых во время создания определения байта было излишне много :) Так остановились на восьми разрядах.
Действительно, процессоры вплоть до 086 (Z80,Intel,IBM,AMD) могли почти полностью управляться командами, состоящими из 8 бит каждая. И до сих пор процессоры, даже самые последние и мощные (рассматривается Intel и AMD) поддерживают те же самые операции (то есть понимают те же самые буквы), что и все предшественники, хотя, теперь для полного управления процессором команды доходят до размерности в 128 бит и больше...
Так что электронника развивается, арифметические аппараты усложняются, автоматизируется всё больше процессов... а память о байте остается.
Тогда почему же байтом начали называть именно 8 двоичных разрядов, а не 4 или 16, например? Тут следует вернуться к процессорам! Ведь, один байт должен представлять одну букву в понимании процессора, то есть одну конкретную команду управления, обозначать конкретную операцию. Так из четырех разрядов можно получить только 16 различных команд, которых, очевидно, недостаточно; а из 16 рязрядов можно получить 65536 команд, которых во время создания определения байта было излишне много :) Так остановились на восьми разрядах.
4 мало, 16 много, поэтому 8! :D
а почему бы не 6 (IBM-1401б IBM 7030), не 7 (БЭСМ), не 9 (Unisys) ?
Действительно, процессоры вплоть до 086 (Z80,Intel,IBM,AMD) могли почти полностью управляться командами, состоящими из 8 бит каждая.
Совсем нет (посмотри набор команд Z80, к примеру. будешь удивлен).
И что что за линейка процессоров такая: (Z80,Intel,IBM,AMD) ?
В современном обиходе уже практически никто не оперирует словом байт. Что такое байт? Байт в общем употреблении обозначает именно ту некоторую незначительную погрешность, которой можно пренебречь :)...
"Позаботься о своих байтах, а гигабайты - сами о себе позаботятся". /Народное...
Само внимание Великого Труженника фрума... :)
Спасибо за интересный вопрос!
Во-первых, в посте было написано, что наиболее
Надеюсь, Вы сами сможете объяснить: почему? Тем не менее, если Вы докажете обратное, то, возможно следующий процессор создадут именно с такой разрядностью ,)
Из того, что я смог найти... В машинах IBM действительно использовались шестибитные регистры. Однако, под хранение числа опять же отводилось 4 бита, а 5й и 6й биты (A и B) - под дополнительные состояния. А также с каждым шестибитным регистром неявно были связаны ещё два бита состояния (C и M).
По поводу БЭСМ: извиняюсь, какая именно модель имелась ввиду? Нашёл только модели с 39, 40, 50 разрядной логикой... А впринципе, как видно из поста, я обошёл описание подобных динозавров. Не хочу морочить голову ни себе, ни другим (ну, по крайней мере, на столько сильно).
А что такое Unisys? По-моему, недостаточно компетентный пример... Уточните.
Кхм. Читайте текст подробнее! Z80 с детства программирую.
Такая вот линейка :)))
Похоже, что Вы могли бы гораздо более широко описать сравнительные характеристики архитектур различных процессоров. Надеюсь однажды об этом прочитать в одном из постов. ;)
2All: Вся эта тема из разряда "Бесполезные знания". Есть 8 бит в байте, есть 4, 5, 6. Это таким-то образом влияет на профессиональные навыки?
P.S. Исключительно ИМХО!!!
Спасибо, посмотрел. Просто, практика форума показывает, что такие масштабные выступления участников ведут к самым непредсказуемым, и зачастую некрасивым последствиям.
есть такое понятие как машинное слово .
в своё время разработчики посщитали что машинное слово размером в 8 бит будет вполне достаточно для любых домашних применений . поэтому процессоры (и машины) стали делать 8-и битными . а для удовства 8-и битное машинное слово стали обзывать байтом )) .
пример этого архаизма - LPT порт . :)