Фундаментальный вопрос :)
От: Tiger  
Дата: 23.10.02 11:24
Оценка: :))) :)))
Уважаемый ALL!

Прошу сильно не пинать ногами, но почему в байте 8 бит? Ну на дисках и в памяти все лежит в двоичном виде и оно понятно — поскольку два четко различимых состояния легко выделить физически. Но вот пачему в байте 8 бит? Почему не 10 — ведь так привычнее — ведь не все же компьютерщики мазохисты

Тут один хороший человек прислал мне на это вот:

"Как Билл Гейтс придумал информацию байтами мерять.

Когда Билл Гейтс занимался отладкой своих первых программ, его очень
раздражало, что он постоянно путался где у него какой бит стоит. И тогда
придумал он объединять их в группы по 8 бит, чтоб меньше ошибаться. И
назвал эти группы байтами. А когда его спросили почему он байты по 8 бит
сделал, а не по 10 — ведь удобнее же десятками считать — он сказал, что
наооборот — когда в байте 8 бит, то удобнее, ведь когда биты в байте
считаешь, пальцы загибать приходится, а так еще два пальца остаются,
чтоб по клавишам нажимать. Вот с той поры и повелось байты по 8 бит
делать."

Но сильно тянет на прикол. Нет, действительно! Почему?



08.06.03 11:19: Перенесено модератором из 'Низкоуровневое программирование' в Философию — ХД
Re: Фундаментальный вопрос :)
От: Аноним  
Дата: 23.10.02 11:38
Оценка:
...
пачему в байте 8 бит? Почему не 10 — ведь так привычнее — ведь
...

Yesli najdesh celochislennij dvoichnij logarifm iz 10 — to mozhet i
peresmotryat standarty, chtob legche schitalos.

p.s. sorry za translit
Re[2]: Фундаментальный вопрос :)
От: Tiger  
Дата: 23.10.02 12:04
Оценка:
Здравствуйте Аноним, Вы писали:

А>...

А>пачему в байте 8 бит? Почему не 10 — ведь так привычнее — ведь
А>...

А>Yesli najdesh celochislennij dvoichnij logarifm iz 10 — to mozhet i

А>peresmotryat standarty, chtob legche schitalos.

А>p.s. sorry za translit


Спасибо за ответ — понятно что преобразования при условии что в байте 8 бит легче между шестнадцатиричной и двоичной системой. Но вот почему ИЗНАЧАЛЬНО в байт заложили 8 бит. Или я просто не понимаю чего-то очень простого и очевидного. При чем тут логарифм? Понятно что 4 бита (тетраду) очень удобно представлять одной цифрой 1111b -> Fh Как альернативу можно смотреть и восьмиричную систему но цифр получается больше и неудобно. А следующая альтернатива 256ричная система — где же столько символов набрать то! Может изначально это было связано с аппаратными ограничениями?

И еще вопрос — а почему биты в байтах считаются в обратном порядке (т.е. справа налево). Только не надо подкаловать что все это арабскими террористами было изначально придумано (хотя похоже конечно)
Re[3]: Фундаментальный вопрос :)
От: UgN  
Дата: 23.10.02 13:07
Оценка:
Здравствуйте Tiger, Вы писали:


T>Спасибо за ответ — понятно что преобразования при условии что в байте 8 бит легче между шестнадцатиричной и двоичной системой. Но вот почему ИЗНАЧАЛЬНО в байт заложили 8 бит. Или я просто не понимаю чего-то очень простого и очевидного. При чем тут логарифм? Понятно что 4 бита (тетраду) очень удобно представлять одной цифрой 1111b -> Fh Как альернативу можно смотреть и восьмиричную систему но цифр получается больше и неудобно. А следующая альтернатива 256ричная система — где же столько символов набрать то! Может изначально это было связано с аппаратными ограничениями?


T>И еще вопрос — а почему биты в байтах считаются в обратном порядке (т.е. справа налево). Только не надо подкаловать что все это арабскими террористами было изначально придумано (хотя похоже конечно)



Т.к. в компутерах система счисления двоичная, то по 8 бит считать удобнее.(а не по десять)
Почему не сразу 16 — дык технология не на том уровне была, чтобы делать 16 разрядные системы.
А 8 вобщем-то хоть куда — и диапазон -128 +127 (0..255), т.е. привычная десятиричная цифра 100 умещается,
да и BCD соорудить можно на раз.

А справа налево считаются разряды — и это нормально. Ты же в десятиричной системе так же считаешь...

смотри: 1234
4 — младший разряд или нулевой
...
1 — старший разряд, тут он третий
Re: Фундаментальный вопрос :)
От: VVV Россия  
Дата: 23.10.02 17:40
Оценка: +1
Здравствуйте Tiger, Вы писали:

T>Уважаемый ALL!


T>Прошу сильно не пинать ногами, но почему в байте 8 бит? Ну на дисках и в памяти все лежит в двоичном виде и оно понятно — поскольку два четко различимых состояния легко выделить физически. Но вот пачему в байте 8 бит? Почему не 10 — ведь так привычнее — ведь не все же компьютерщики мазохисты


Вот тут ещё один взгляд излагается:
http://www.kv.by/index1998381801.htm

Хотя, думаю, тут ещё и аппаратные соображения играют существенную роль. Например, для адресации любого из 8-ми бит достаточно трёх бит (регистров — три микросхемы в далёкие времена), если бы было 10 бит, то надо уже четыре регистра (микросхемы) — эти 4 регистра могут адресовать 16 бит, т.е 6 адресуемых единиц теряется впустую... И не очень понимаю почему 10 — привычнее? Мы же используем кучу систем счисления: часы — по 60 минут, сутки — по 24 часа, неделя — по 7 дней, год — 12 месяцев. А если вспомнить ещё пуды, дюжины, фунты, футы, мили, дюймы, беррели... — и всем этим при определённой тренировке запросто манипулируем
Re: Фундаментальный вопрос :)
От: Edmond  
Дата: 24.10.02 07:45
Оценка:
Здравствуйте Tiger, Вы писали:

T>Уважаемый ALL!


T>Прошу сильно не пинать ногами, но почему в байте 8 бит? Ну на дисках и в памяти все лежит в двоичном виде и оно понятно — поскольку два четко различимых состояния легко выделить физически. Но вот пачему в байте 8 бит? Почему не 10 — ведь так привычнее — ведь не все же компьютерщики мазохисты


T>Тут один хороший человек прислал мне на это вот:


T>"Как Билл Гейтс придумал информацию байтами мерять.


T> Когда Билл Гейтс занимался отладкой своих первых программ, его очень

T>раздражало, что он постоянно путался где у него какой бит стоит. И тогда
T>придумал он объединять их в группы по 8 бит, чтоб меньше ошибаться. И
T>назвал эти группы байтами. А когда его спросили почему он байты по 8 бит
T>сделал, а не по 10 — ведь удобнее же десятками считать — он сказал, что
T>наооборот — когда в байте 8 бит, то удобнее, ведь когда биты в байте
T>считаешь, пальцы загибать приходится, а так еще два пальца остаются,
T>чтоб по клавишам нажимать. Вот с той поры и повелось байты по 8 бит
T>делать."

T>Но сильно тянет на прикол. Нет, действительно! Почему?


Причёмм тут Билл???

По байтам..... почему???
А ты подумай..., чтобы было, если бы система адресации была по битам
А почему 8???
Ну это элементарно

Запиши число 8 в двоичной системе и прозреешь
С уважением, Edmond
Re[2]: Фундаментальный вопрос :)
От: Tiger  
Дата: 24.10.02 09:01
Оценка:
Здравствуйте Edmond,

E>По байтам..... почему???

E>А ты подумай..., чтобы было, если бы система адресации была по битам
Нет, ну понятно что группирвка удобна — НО Почему имеено 8 бит!!!

Ведь и байты далшье группируются в параграфы памяти и в сегменты. Мне все же кажется тут аппаратные причины были (ИМХО)

E>А почему 8???

E>Ну это элементарно

E>Запиши число 8 в двоичной системе и прозреешь


Уважаемый Edmond — я все таки упорствую в своем незнании т.е. к сожалению не прозрел
(старался)

Я понимаю что 8d -> 1000b Ну и что?

А вот 10000b — > 16d !

Что-то ускользает из моего сознания

Ведь деление на байты это условность, сделанная чисто для удобства (ИМХО кончно). Более того вот VVV (см. предыдущий ответ) прислал мне ссылку. А в ссылке вот что:

"Почему в байте 8 бит?

Нам кажется привычным, что в байте ровно 8 бит, но так было не всегда. У старых компьютеров были очень странные по сегодняшним меркам размеры машинных слов и байтов. Обычно они были кратны шести. Восемь же бит в байте появились только с возникновением System/360 от IBM. Это стало стандартом де-факто, и где-то с начала 1970-х большинство компьютеров использует байты, состоящие из 8 бит, и машинные слова, кратные 8.

А почему у System/360 были 8-битные байты? Вероятно, из-за использования BCD-формата представления числа: по 4 бита на каждую цифру (0-9), таким образом один байт мог представлять две цифры. В System/360 были специальные инструкции для обработки данных такого формата, и было бы трудно использовать 6-битные байты для представления BCD, поэтому 8 бит в байте стали наилучшим решением.

Андрей КОНОНОВИЧ,
aloner@softhome.net"

Что бы было если бы например байт выглядел бы так 11111 11111b ? И адресация была бы ширее!

И кстати для пяти разрядов можно было бы 17ричную систему вводить. И тогда было бы 11111 11111b — > EE(17). Чем не удобно?

Хотя вот другие мне тут уже советуют к врачу обратиться
Re[3]: Фундаментальный вопрос :)
От: UgN  
Дата: 24.10.02 09:45
Оценка:
Здравствуйте Tiger, Вы писали:

T>Нет, ну понятно что группирвка удобна — НО Почему имеено 8 бит!!!


T>Я понимаю что 8d -> 1000b Ну и что?


T>Что бы было если бы например байт выглядел бы так 11111 11111b ? И адресация была бы ширее!


8 — это степень двойки (2^3)
Машина работает в двоичной системе, такая у нее природа.

Для машины числа степени 2, то же самое, что для тебя степени 10.
Это "круглые" числа. Это удобнее.

Основные вешки в твоем счете это 10, 100, 1000, ... и т.д.
потому что ты считаешь в десятиричной системе.

Машина считает в двоичной. 2, 4, 8, 16 ... и т.д.

Поэтому 8, а не 6 или 11. Понятно?

Почему 8, а не 4 или 16?
Когда 8 разрядов приняли де-факто, технология была на достаточном уровне,
чтобы обеспечить 8-разрядную архитектуру. А на 16 не тянула.

4 — слишком мало.

8 — рязрядов позволяют легко хранить привычную сотню (-128 .. +127 или 0 .. 256)
К тому же 2 BCD в 8 разрядов хорошо укладываются, что опять дает 0..99 — сотню.

Насчет 6 разрядного байта скажу одно: Динозавры — тупиковая ветвь эволюции успешно вымерли.


T>Что-то ускользает из моего сознания


Это точно. Trust me, I know what I'm doing! /(C) не помню/
Re[3]: Фундаментальный вопрос :)
От: Edmond  
Дата: 24.10.02 10:07
Оценка:
Здравствуйте Tiger, Вы писали:

T>Здравствуйте Edmond,


E>>По байтам..... почему???

E>>А ты подумай..., чтобы было, если бы система адресации была по битам
T>Нет, ну понятно что группирвка удобна — НО Почему имеено 8 бит!!!

T>Ведь и байты далшье группируются в параграфы памяти и в сегменты. Мне все же кажется тут аппаратные причины были (ИМХО)


E>>А почему 8???

E>>Ну это элементарно

E>>Запиши число 8 в двоичной системе и прозреешь


T>Уважаемый Edmond — я все таки упорствую в своем незнании т.е. к сожалению не прозрел

T>(старался)

T>Я понимаю что 8d -> 1000b Ну и что?


T>А вот 10000b — > 16d !


T>Что-то ускользает из моего сознания


T>Ведь деление на байты это условность, сделанная чисто для удобства (ИМХО кончно). Более того вот VVV (см. предыдущий ответ) прислал мне ссылку. А в ссылке вот что:


Ну нет!!! Это не для удобства....
Это идёт ещё с выч алгебры...
Тут всё очень точно...

Тот ответ.., что 2^xx -- верен..


T>"Почему в байте 8 бит?


T>Нам кажется привычным, что в байте ровно 8 бит, но так было не всегда. У старых компьютеров были очень странные по сегодняшним меркам размеры машинных слов и байтов. Обычно они были кратны шести. Восемь же бит в байте появились только с возникновением System/360 от IBM. Это стало стандартом де-факто, и где-то с начала 1970-х большинство компьютеров использует байты, состоящие из 8 бит, и машинные слова, кратные 8.


То есть почему 8??? Это надо спросить у интел Ну я уверен, причина в архитектуре,.... и она есть
Но кто теперь помнит???

T>А почему у System/360 были 8-битные байты? Вероятно, из-за использования BCD-формата представления числа: по 4 бита на каждую цифру (0-9), таким образом один байт мог представлять две цифры. В System/360 были специальные инструкции для обработки данных такого формата, и было бы трудно использовать 6-битные байты для представления BCD, поэтому 8 бит в байте стали наилучшим решением.


??? Интересно....

T>Андрей КОНОНОВИЧ,

T>aloner@softhome.net"

T>Что бы было если бы например байт выглядел бы так 11111 11111b ? И адресация была бы ширее!


Ничего подобного..... Давайте посчитаем проигрыш при формировании адреса УУУЖЖАСС куча алгоритмов проиграна бы была

T>И кстати для пяти разрядов можно было бы 17ричную систему вводить. И тогда было бы 11111 11111b — > EE(17). Чем не удобно?


Неудобно для машины

T>Хотя вот другие мне тут уже советуют к врачу обратиться


Не надо врача
С уважением, Edmond
Re: Фундаментальный вопрос :)
От: Dmitry Sustretov Россия  
Дата: 26.10.02 11:43
Оценка:
Здравствуйте Tiger, Вы писали:

T>Уважаемый ALL!


T>Прошу сильно не пинать ногами, но почему в байте 8 бит? Ну на дисках и в памяти все лежит в двоичном виде и оно понятно — поскольку два четко различимых состояния легко выделить физически. Но вот пачему в байте 8 бит? Почему не 10 — ведь так привычнее — ведь не все же компьютерщики мазохисты


в байте ? в байте не 8 бит. Это зависит от архитектуры.
В свое время были машины с байтом в 13 бит. Просто сейчас очень распространены машины с 8-битным байтом.
Re[2]: Фундаментальный вопрос :)
От: UgN  
Дата: 28.10.02 09:43
Оценка:
Здравствуйте Dmitry Sustretov, Вы писали:



DS>в байте ? в байте не 8 бит. Это зависит от архитектуры.

DS>В свое время были машины с байтом в 13 бит. Просто сейчас очень распространены машины с 8-битным байтом.


Кстати, да!

В словарике есть такое:


N-bit byte

N-разрядный байт



Re: Фундаментальный вопрос :)
От: SVV Беларусь  
Дата: 29.10.02 10:13
Оценка:
Здравствуйте Tiger, Вы писали:

T>Уважаемый ALL!


T>Прошу сильно не пинать ногами, но почему в байте 8 бит? Ну на дисках и в памяти все лежит в двоичном виде и оно понятно — поскольку два четко различимых состояния легко выделить физически. Но вот пачему в байте 8 бит? Почему не 10 — ведь так привычнее — ведь не все же компьютерщики мазохисты


Н-да, прикольное получилось обсуждение. Из приведенных аргументов, мне наиболее логичным видится, что основание системы счисления — степень 2. Не 4 т.к. слишком мелкие байты, не 16 т.к. аппаратные возможности не позволяли.

Хотя сам я думал, что так макимально эффективно хранить ASCII символы: большие + маленькие буквы, цифры, спец символы, некоторое минимальное количество украшательных символов — как раз 256...

А вообще мне кажется, что автор всех разводит , а если нет, то просто никогда не занимался разработкой или проектированием схем (железа), а то бы знал, что добавка 1 бита частенько усложняет систему в 2 и более раза
Re: Фундаментальный вопрос :)
От: Jenyay http://jenyay.net
Дата: 05.11.02 04:35
Оценка:
Здравствуйте Tiger, Вы писали:

T>Уважаемый ALL!


T>Но сильно тянет на прикол. Нет, действительно! Почему?


А вот глянь http://www.kv.by/index1998381801.htm&print внизу самом
Софт, исходники и фото
Re[2]: Фундаментальный вопрос :)
От: AssAsin  
Дата: 06.11.02 18:10
Оценка:
Здравствуйте Dmitry Sustretov, Вы писали:

DS>в байте ? в байте не 8 бит. Это зависит от архитектуры.


Если я не ошибаюсь, то в IBM/360 байты были 9-битными. Но 9-й бит использовался для контроля четности и программно был не виден.
Re[3]: Фундаментальный вопрос :)
От: SVV Беларусь  
Дата: 11.11.02 07:43
Оценка:
Здравствуйте AssAsin, Вы писали:

AA>Здравствуйте Dmitry Sustretov, Вы писали:


DS>>в байте ? в байте не 8 бит. Это зависит от архитектуры.


AA>Если я не ошибаюсь, то в IBM/360 байты были 9-битными. Но 9-й бит использовался для контроля четности и программно был не виден.


Может и не ошибаешся, однако в современных ПК тоже 9 бит, и 9-й бит тоже отвечает за четность. Однако человек имел ввиду, количество бит под данные.
Re[4]: Фундаментальный вопрос :)
От: UgN  
Дата: 11.11.02 10:03
Оценка:
Здравствуйте SVV, Вы писали:

SVV>Может и не ошибаешся, однако в современных ПК тоже 9 бит, и 9-й бит тоже отвечает за четность.



Э-э-э... А можно поподробнее про 9 бит в современных ПК?
Это чего, в процессоре еще и контроль четности рюхается?
Re[3]: Фундаментальный вопрос :)
От: kig Россия  
Дата: 11.11.02 10:09
Оценка:
Здравствуйте AssAsin, Вы писали:

AA>Здравствуйте Dmitry Sustretov, Вы писали:


DS>>в байте ? в байте не 8 бит. Это зависит от архитектуры.


AA>Если я не ошибаюсь, то в IBM/360 байты были 9-битными. Но 9-й бит использовался для контроля четности и программно был не виден.


Контроля НЕ четности. Сумма бит = 1 должна была быть нечетной.
Re[5]: Фундаментальный вопрос :)
От: SVV Беларусь  
Дата: 11.11.02 10:14
Оценка:
Здравствуйте UgN, Вы писали:

UgN>Здравствуйте SVV, Вы писали:


SVV>>Может и не ошибаешся, однако в современных ПК тоже 9 бит, и 9-й бит тоже отвечает за четность.


UgN>

UgN>Э-э-э... А можно поподробнее про 9 бит в современных ПК?
Подробнее об этом см. в описании Asm команды jp metka
UgN>Это чего, в процессоре еще и контроль четности рюхается?
Это не в процессоре. Слышали когда-нибудь про одно из отличий i440BX от i440ZX? Так это из той серии. Контроль четности реализует чипсет, точнее его контроллер памяти. На ВХ можно поставить память с паритетом и без него.
Re[4]: Фундаментальный вопрос :)
От: UgN  
Дата: 11.11.02 10:21
Оценка:
Здравствуйте kig, Вы писали:

kig>Контроля НЕ четности. Сумма бит = 1 должна была быть нечетной.


А это неважно, просто термин такой — контроль четности.
Re[5]: Фундаментальный вопрос :)
От: kig Россия  
Дата: 11.11.02 10:29
Оценка:
Здравствуйте UgN, Вы писали:

UgN>Здравствуйте SVV, Вы писали:


SVV>>Может и не ошибаешся, однако в современных ПК тоже 9 бит, и 9-й бит тоже отвечает за четность.


UgN>

UgN>Э-э-э... А можно поподробнее про 9 бит в современных ПК?
UgN>Это чего, в процессоре еще и контроль четности рюхается?

Например здесь ECC
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.