Поиск:

Ответ в темуСоздание новой темы Создание опроса
> байты и биты 
:(
    Опции темы
Dexter
  Дата 6.9.2002, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1562
Регистрация: 2.7.2002
Где: Москва, Бирюлево

Репутация: нет
Всего: 4



(Вопрос может показаться очень тупым и примитивным)

Я не очень много знаю по этому вопрсу так что исправьте если я че напортачил.

Так вот: я так понимаю, что любой символ кодируется восемью нулями и единицами (всего символов 256), и вся "матрица" ANSI представляет собой (как бы) массив из 256 элементов. Каждый элемент - символ. Так вот (я че-то увлекся) почему при создании компьютерных технологий (или как там это называется) закодировали каждый симво именно 8 нулями и единицами, ведь если их было бы больше то и символов могло быть больше. (вроде все).

Еще раз повторяю не судите строго, я в этом хреново разбираюсь ???  ???  ???

И если можно кинте адресок где можно про это почитать :D


--------------------
The only thing you really know about me is...
...that's all you'll ever know
PM MAIL ICQ   Вверх
Vit
Дата 6.9.2002, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: нет
Всего: 207



Вся матрица это массив из 8 битов, количество комбинаций 8 элементов, каждый из которых может иметь 2 значения (0, 1) и даёт 256 возможных вариантов:

0000 0000  - 0
0000 0001  - 1
0000 0010  - 2
0000 0011  - 3
0000 0100  - 4
0000 0101  - 5
0000 0110  - 6
0000 0111  - 7
0000 1000  - 8
0000 1001  - 9
0000 1010  - 10
0000 1011  - 11
0000 1100  - 12
0000 1101  - 13
0000 1110  - 14
0000 1111  - 15

и т.д.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
December
Дата 6.9.2002, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: нет
Всего: 57



Во имя экономии памяти и оптимизации скорости обработки избрали именно 8-и кратную систему. Другие основания тормозили бы как вывод на экран, так и всё остальное.


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
Vit
Дата 6.9.2002, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: нет
Всего: 207



Не так чтоб сразу, я работал на системах с основаниями 5, 6, 7 - увеличение основания происходило с увеличением вычислительной мощности. А сейчас активно проталкиваются Unicode как стандарт, которые есть суть 16 битная система


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Dexter
Дата 7.9.2002, 02:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1562
Регистрация: 2.7.2002
Где: Москва, Бирюлево

Репутация: нет
Всего: 4



Цитата(Vit @ 06.9.2002, 15:58)
Вся матрица это массив из 8 битов, количество комбинаций 8 элементов, каждый из которых может иметь 2 значения (0, 1) и даёт 256 возможных вариантов:

Че то я с трудом въезжаю можно как нибудь попроще  ???  ???  ???


--------------------
The only thing you really know about me is...
...that's all you'll ever know
PM MAIL ICQ   Вверх
Vit
Дата 7.9.2002, 03:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: нет
Всего: 207



Представь себе 2 шахматные клетки. На них должно стоять по 1й шашке, сколько возможно комбинаций? Очевидно 4:

1) чёрная | чёрная
2) чёрная | белая
3) белая  | чёрная
4) белая  | белая

Это понятно?

Другими словами двумя шахматными клетками можно закодировать 4 варианта значений.

Например у меня перед кабинетом стоит шахматный столик, и я условился с сотрудниками, что перед уходом из кабинета я буду оставлять там шашки, и по ним можно определить куда я ушёл:
Если на столе стоят:
 чёрная | чёрная - то я ушёл в библиотеку
 чёрная | белая - то я ушел в столовую
 белая  | чёрная - то я ушел домой
 белая  | белая - то я пью кофе в соседней лаборатории

Таким образом у меня закодировано 4 разных варианта ("ушёл в библиотеку","ушел в столовую", "то я ушел домой", "пью кофе в соседней лаборатории") при помощи 2 клеток и шашек которые могут быть либо чёрными либо белыми.

Теперь обозначим цвет цифрами:

0 - чёрный
1 - белый

Таким образом можно обозначить что:

 0 | 0 - то я ушёл в библиотеку
 0 | 1 - то я ушел в столовую
 1 | 0 - то я ушел домой
 1 | 1 - то я пью кофе в соседней лаборатории

Естественно, что если использовать больше клеток то можно закодировать большее число вариантов. Например если взять 3 клетки то можно закодировать 8 вариантов:

чёрная |  чёрная | чёрная
чёрная |  чёрная | белая
чёрная |  белая  | чёрная
чёрная |  белая  | белая
белая  |  чёрная | чёрная
белая  |  чёрная | белая
белая  |  белая  | чёрная
белая  |  белая  | белая

Или в цифровом выражении:

0 |  0 | 0
0 |  0 | 1
0 |  1 | 0
0 |  1 | 1
1 |  0 | 0
1 |  0 | 1
1 |  1 | 0
1 |  1 | 1

Идя дальше 8 шахматных клеток могут закодировать 256 возможных вариантов. Теперь чуть чуть изменим терминологию:

1 шахматную клетку назовём бит - очевидно что она может передать только 2 варианта ("чёрный/белый" или "0/1" или "True/False" или "Yes/No")

8 шахматных клеток которые могут передать (кодировать) 256 вариантов значений назовём байтом.

Каждый возможный вариант раскладки шашек по 8 ячейкам у нас будет кодировать букву, цифру или спец.символ, этот набор кодируемых значков обзовём ASCII или ANSI таблицей.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Dexter
Дата 7.9.2002, 03:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1562
Регистрация: 2.7.2002
Где: Москва, Бирюлево

Репутация: нет
Всего: 4



Понятно.

А в самом начале я правильно написал?


--------------------
The only thing you really know about me is...
...that's all you'll ever know
PM MAIL ICQ   Вверх
Vit
Дата 7.9.2002, 03:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: нет
Всего: 207



Цитата
и вся "матрица" ANSI представляет собой (как бы) массив из 256 элементов.



Нет, вот здесь неправильно. Эта матрица - это массив из 8 элементов и никак иначе


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Dexter
Дата 7.9.2002, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1562
Регистрация: 2.7.2002
Где: Москва, Бирюлево

Репутация: нет
Всего: 4



но всего ведь элементов 256 и каждый с уникальным порядком 1 и 0.


И где в Инете можно почитать про это


--------------------
The only thing you really know about me is...
...that's all you'll ever know
PM MAIL ICQ   Вверх
suborg
Дата 7.9.2002, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 190
Регистрация: 29.4.2002
Где: Москва

Репутация: нет
Всего: нет



упрощаем понимание: в двоичной системе если каждую цифру числа умножить на нужную степень двойки, и результаты сложить, получится десятичное число. Проще:
умножать надо на (по порядку слева направо) 128, 64,32,16,8,4,2,1. Еще проще:

0101 в двоичном коде будет 0*8 + 1*4 + 0*2 + 1*1, получится 5, значит двоичное число 0101 означает нашу пятёрку.

Теперь усложним - двоичное число 00000101 если так же домножить, тоже получится пятёрка, теперь возьмём таблицу символов ASCII и увидем, что под номером пять там находится такой-то символ (не помню какой :), ну вот аналогично кодируются все символы. Комбинаций нулей и единиц в самом деле 256, значение каждой комбинации можно получить переводом из двоичного кода в десятичный аналогично показанному выше или проще - можно почитать где ни будь. Десятичный код 8-битного числа соответствует номеру символа в таблице, вот и всё.
Графический адаптер например при работе в текстовом режиме, считывает из памяти байт для каждого знакоместа на экране, и соответственно значению этого байта вырисовывает какой ни будь символ на экране, номер символа в таблице опять же определяется значением этого байта, ну, а каждому номеру символа в таблице приписано своё начертание - это уже шрифт.
Фу, кажется опять усложнять начал :)
PM MAIL WWW ICQ   Вверх
Dexter
Дата 8.9.2002, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1562
Регистрация: 2.7.2002
Где: Москва, Бирюлево

Репутация: нет
Всего: 4



Хотя я все понял, я чувствую себя полным ламером  ???  ???  ???


--------------------
The only thing you really know about me is...
...that's all you'll ever know
PM MAIL ICQ   Вверх
cosmic
Дата 28.9.2002, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 28.9.2002

Репутация: нет
Всего: нет



Цитата(Vit @ 06.9.2002, 20:20)

Dexter, зачем тебе больше? не хватает 256? :))

в принципе, (ради пущего съезжания крыши :) есть и другие способы хранения символов, не связанные с тем, сколько битов в байте
(щас вые#####сь, "...сколько разрядов в минимально-адресуемой единице памяти на конкретной машине" :)))))).

правда я слышал только об алгоритме Hafman'а, в котором символ кодируется неповторимой последовательностью битов нефиксированной длины. чем чаще встречается какой-то символ - тем короче последовательность, которая его кодирует.

где почитать про это - не знаю. я это в какой-то "левой" книжке увидел.
PM MAIL   Вверх
PILOT
Дата 2.10.2002, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: нет
Всего: 54



Каждому символу соответствует число (0-255)
Каждое число может быть записано в разных системах счисления, в двоичной, например.
Число символов, которое устраивало всех (для набивания текста+простые таблицы) в текстовом режиме было около 190.
Т.к. компутер понимает двоичную систему и т.к. минимальное число близкое к 190 и являющееся степенью 2-х (двоичная система) есть 256, т.е. это 2 в степени 8.
мы пишем 0 в десятичной, это есть 00000000 в двоичной.
пишем 36 в десятичной,    это есть 00100100 в двоичной, почему так?
Номера бит (нулевой всегда младший, 7 старший:  т.е. любой отсчет идет с нуля):
7     6     5     4     3     2     1     0 - это байт, из 8-ми бит.
128  64   32    16   8     4     2     1 - это вес разрядов, так же как в десятичной системе десятки, 1000 100 10 1, где 9 это максимальный разряд, а тут максимальный разряд 1, т.е. сначала 0, потом 1, потом 10, потом 11 и т.д.
Т.е. перенос сразу после 1-цы, а в 10-чной системе после 9-ки.
Итак 01000100:
Как узнать что это за число в десятичном виде: просто берем и складываем веса разрядов. нулевой разряд = 0 , с ним нечего делать и первый 0, они пустышки, теперь 2-ий = 1. Ага 3-й это значит 4 (2^2=4), дальше опять нули, до 6-го разряда (справа налево разряды считаем), 6-ый разряд = 1, ага это 64, т.к. 2^6=64 (а в уме те 4 держим). Дальше по разрядам все нули.
Теперь складываем 64+4=66. 66 в десятичной системе есть 01000100.
Вот и все.

СУВ.
-Морковь будете?
-Да, пожалйста.
-Разрезать?
-Спасибо...
-Покрошить?
-Да-а!!
-Разжевать?????


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
Dexter
Дата 3.10.2002, 01:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1562
Регистрация: 2.7.2002
Где: Москва, Бирюлево

Репутация: нет
Всего: 4



Вопрос был вобщем-то не по этой теме,
и из двоичной системы в десятичную я умею переводить (с помощью калькулятора (шутка).


--------------------
The only thing you really know about me is...
...that's all you'll ever know
PM MAIL ICQ   Вверх
PILOT
Дата 4.10.2002, 05:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: нет
Всего: 54



Цитата(Dexter @ 02.10.2002, 18:59)
Вопрос был вобщем-то не по этой теме,
и из двоичной системы в десятичную я умею переводить (с помощью калькулятора (шутка).

Для тех кто читает спустя рукава, повторяем:

Число символов, которое устраивало всех (для набивания текста+простые таблицы) в текстовом режиме было около 190.
Т.к. компутер понимает двоичную систему и т.к. минимальное число близкое к 190 и являющееся степенью 2-х (двоичная система) есть 256, т.е. это 2 в степени 8.

СУВ
ЗЫ. Добавлю, что есть еще 16-ричная система, в которой второй перенос происходит при переходе с 255 на 256. Т.е. очень удобно (16-ной системой пользуются любой программист... и не очень).


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.1149 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.