|
Представление данных в компьютерных системах
Компьютеры представляют данные, используя «0» и «1», которые также известны как двоичныечисла. Почему компьютеры используют двоичную запись вместо более близкой людям десятичной системы (в которой используются цифры 0-9)? Каждая цифра, двоичная она или десятичная, представляется напряжением в схеме компьютера. Сравнительно просто, сформировать схемы, выделяя два напряжения. Мы можем называть эти напряжения "включено" и "выключено". Намного более тяжело, хотя и не невозможно, сформировать схемы, которые бы были способны надежно различать десять различных напряжений.
Последовательность чтения:
- Parsons/Oja, Chapter 1-Section C.Цель обучения:Знание основных компонентов аппаратного обеспечения компьютера и двоичного представления.
1.3.1. Биты и байты. Цель обучения: Знание того, как представляются данные, используя двоичные цифры «0» и «1». Также, знание того, как описывается емкость запоминающего устройства данных, используя типичные меры.
1.3.2 Системы счисления. Цель обучения: Знание систем счисления, используемых для представления данных в компьютерных вычислениях.
|
Биты и байты
- Представление данных с помощью двоичных цифр
- Увеличение необходимости в Байтах Увеличение потребности в компьютерной памяти
Представление данных, используя двоичное исчисление
Порция данных, например, буква алфавита, может быть представлена, используя последовательность двоичных символов – «0» и «1». Есть несколько видов кодов, используемых, чтобы представить символьные данные – (character data). Например, используя расширенный код ASCII (Американский Стандартный Код для Информационного Обмена), буква алфавита "a" может быть представлена, используя последовательность восьми двоичных разрядов "01100001". Каждый двоичный разряд называется бит. А восемь бит – это один байт. Расширенный код ASCII использует восемь бит (или один байт), чтобы представить входные символы. Ниже показаны двоичные представления символов в расширенном коде ASCII.
Рисунок 1 Код ASCII
Все данные, в том числе звуковые, визуальные и программы могут быть представлены и сохранены, используя последовательность двоичных чисел или последовательность байтов. Иначе говоря – файл это коллекция данных. В некоторых файлах биты данных непосредственно кодируют индивидуальные буквы, номера и символы пунктуации, которые формируют слова и предложения. В других файлах, например файлах изображениях, биты данных должны быть пересчитаны для преобразования в изображения, которые мы сможем воспринимать.
Большинство приложений, например Microsoft Word или PowerPoint кодируют информацию специальными способами, не для чтения человеком. Поэтому, хотя Microsoft Word часто используется для редактирования текста, документ Word не может правильно отображен простым текстовым редактором, таким как Notepad, в связи с тем, что документ включает информацию в формате специфическом для Microsoft Word. По этой причине, чтобы его прочитать, его нужно открывать в Microsoft Word. Некоторые файлы имеют заголовок, указывающий на то какой формат использовался для кодирования данных, чтобы дать возможность компьютеру повторно собрать двоичные данные обратно в удобочитаемую форму документа.
Увеличение потребности в компьютерной памяти
В конце 1970-х и начале 1980-х, начали производиться недорогие персональные компьютеры, и вскоре вырос большой потребительский рынок. Вначале хватало, небольших объемов памяти, таких как тысячи байтов, чтобы обработать простую электронную таблицу и тексты. Но позже пользователи пожелали программное обеспечение, позволяющее им выполнить больше задач, таких как рисование и макетирование страниц. Пользовательские запросы возросли, соответственно росли требования к вычислительным возможностям. Этот спрос приводил к новому развитию, которое требовало расширения памяти. В середине 1980-х память выросла до миллионов байтов. Сегодня у офисных и домашних компьютеров миллиарды и даже больше байтов памяти. Потребности в памяти для систем, использующих данные интенсивно, таких как, например, Geographic Information System (GIS) (Географическая Информационная Система), составляет триллионы байтов. Ниже — диаграмма, иллюстрирующая емкости запоминающих устройств, начиная с 1970-х с соответствующими префиксами и аббревиатурами.
| 1970-е
| 1980-е
| 1990-е
| 2000-е
| Порядок величины объема памяти в байтах
| тысячи
| миллион
| биллион
| триллион
| Префикс
| Kilo (103)
| Mega (106)
| Giga (109)
| Tera (1012)
| Аббревиатура
| K
| M
| G
| T
| Что касается памяти то, чем больше, тем лучше. Другими словами, больше информации в форме данных и программ, которые их обрабатывают, может быть сохранено в памяти компьютера. Соответственно с ростом ёмкости устройств хранения, объёмы памяти также возрастают. Более того, технологии производства компьютерной памяти дают более компактные, легкие и быстрые устройства за туже цену. Вы узнаете больше о памяти и технологиях памяти в следующем модуле этого курса.
Системы счисления
- Десятичная
- Двоичная
- Шестнадцатиричная
- Упражнение
Мир вычислений использует несколько систем счисления для представления данных. Пока десятичная система, также известная как система счисления с основанием 10 (base10), ближе людям, так как это – система счисления, используемая в быту, двоичная (base2) и шестнадцатиричная (base16) — основные системы счисления используемые в вычислениях.
Десятичная
Мы начнем обсуждение систем счисления с рассмотрения десятичной системы как примера позиционной системы счисления. Десятичная система счисления содержит десять значений — 0, 1, 2, 3, 4, 5, 6, 7, 8, и 9. Каждое число в десятичной системе счисления может быть разбито на цифры по их "порядку" (позиции) в числе. Рассмотрим, например, число 43,872, где 2 находится на его 0-й позиции, 7 находится на его первой, 8 — на второй, 3 — на третьей, и 4 — на четвертой позиции. Каждая позиция имеет значение, которое может быть представлено либо экспоненциальным, либо десятичным значением. Следующая таблица показывает экспоненциальное и десятичное представление для каждой позиции числа 43,872.
Порядок
| 4-е
| 3-е
| 2-е
| 1-е
| 0-е
| Цифра
|
|
|
|
|
| Экспоненциальное значение порядка
| 104
| 103
| 102
| 101
| 100
| Десятичное значение порядка
| 10,000
| 1,000
|
|
|
| Таблица 1. Экспоненциальное и десятичное соответствие позиции цифры в числе
Отметим, что экспоненциальные значения увеличиваются соответственно позиции цифры. Например, экспоненциальное значение 4-й позиции составляет 104.
Чтобы определить значение числа, перемножают цифру в столбце со значением, которое представляет столбец. Следующая запись - простое вычисление для предыдущего примера.
4 × 104 + 3 × 103 + 8 × 102 + 7 × 101 + 2 × 100 = 4 × 10,000 + 3 × 1000 + 8 × 100 + 7 × 10 + 2 × 1 = 40,000 + 3000 + 800 + 70 + 2 = 43,872
Хотя выполнение этих вычислений на десятичных числах кажется тривиальным, это демонстрирует образец, или формулу, которая может использоваться для конвертации числа из любой системы счисления к десятичной. Иначе говоря,
dp(b)p + dp-1(b)p-1 + . . . + d0(b)0
Где p — позиция, b — основание системы счисления, dp — цифра на самой высокой позиции в числе, dp-1 — следующая позиция в числе и так далее.
Используя пример числа, рассмотренный ранее, получим dp = 4, dp-1 = 3, b = 10, и p = 4.
4 × 104 + 3 × 103 + 8 × 102 + 7 × 101 + 2 × 100 = 43,872
Формулу, приведенную выше, можно использовать для расчетов десятичного числового значения любого числа в заданной базе. Ниже показан пример расчета для конвертации числа 214 (основание системы счисления 4) в десятичное значение.
Позиция
| 1st
| 0th
| Цифра
|
|
| Экспоненциальное значение позиции
| 41
| 40
| Десятичное значение позиции
|
|
| Таблица 2. Экспоненциальное и десятичное значения позиции цифр в числе
2(4)1 + 1(4)0 = 2× 4 + 1 × 1 = 8 + 1 = 9
До сих пор мы обсуждали преобразование чисел в десятичные. Важно также уметь конвертировать числа из десятичной в другие системы счисления. Используя систему base4, сконвертируем число 89 из десятичной формы в число с основанием системы счисления 4 (base4).
Сначала, найдем значение p, где 4p < = 89 < 4p+1. В этом случае case p = 3. p — номер наивысшей позиции.
Теперь заполним следующую таблицу:
Позиция
|
|
|
|
| Экспоненциальное значение порядка
| 43
| 42
| 41
| 40
| Десятичное значение порядка
|
|
|
|
| Вычисление
| 89 ÷ 64
| 25 ÷ 16
| 9 ÷ 4
| 1 ÷ 1
| Результат
|
|
|
|
| Остаток
|
|
|
|
| Таблица 3. Преобразование чисел из системы base10 в base4
Следовательно, 8910 = 11214.
Теперь рассмотрим двоичную и шестнадцатиричную систему более подробно.
Двоичная
Поскольку все системы счисления преобразуются одинаково, вы уже имеете все необходимое, чтобы преобразовывать число в двоичный код и обратно. Давайте рассмотрим преобразование из двоичного в десятичное числа, которое в двоичной форме записывается как 10110110.
Наивысшая позиция p, получена подсчетом числа позиций в двоичном коде, начиная с нуля.
1 × 27 + 0 × 26 + 1 × 25 + 1 × 24 + 0 × 23 + 1 × 22 + 1 × 21 + 0 × 20 = 1 × 128 + 0 × 64 + 1 × 32 + 1 × 16 + 0 × 8 + 1 × 4 + 1 × 2 + 0 × 1 = 128 + 0 + 32 + 16 + 0 + 4 + 2 + 0 = 182
Например, в числе 100110 наибольшая позиция — 2p, где p = 5. Поскольку двоичная система самая простая система счисления для преобразования в десятичную, она поможет нам позже, когда мы будем преобразовывать шестнадцатиричные числа.
Обратите внимание, что двоичная система использует больше цифр для выражения значения числа чем десятичная. Например, число 99 — в десятичном виде это 1100011 — в двоичном виде. Компьютерные профессионалы заимствовали шестнадцатиричное представление как стенографию для двоичного, чтобы представить двоичные значения в краткой форме.
Шестнадцатиричная
Шестнадцатиричная (base16), по всей вероятности та система счисления, с которой вы будете работать. В современной десятичной системе набор арабских цифр 0-9 необходимо дополнить дополнительными значениями для представления десятичных эквивалентов — 10, 11, 12, 13, 14, и 15. Вместо изобретения новых символов для представления этих чисел, используются буквы A-F. Шестнадцатиричная система представляется набором цифр 0-F. Используются как буквы нижнего, так и верхнего регистра (большие и маленькие). В этом курсе мы будем использовать верхний регистр A-F. Шестнадцатиричный формат, однако, обычно не представляется добавлением индекса 16 к цифре обозначающей число. Вместо этого используются два различных формата для представления шестнадцатиричных чисел: с добавлением вначале 0x или с добавлением в конце h. Мы будем использовать 0x, чтобы обозначать шестнадцатиричные числа.
Позиция
|
|
|
|
|
| Экспоненциальное значение позиции
| 164
| 163
| 162
| 161
| 160
| Десятичное значение позиции
| 65,536
|
|
|
|
| Таблица 4. Экспоненциальное и десятичное представление цифровой позиции числа
Есть два метода преобразования шестнадцатиричного числа в десятичное. При прямом преобразовании используется следующая формула
p(b)p + dp-1(b)p-1 + . . . + d0(b)0
Где dp – цифра на самой высокой позиции в числе, и dp-1 — следующая цифра на следующей позиции и так далее. b — база и p — значение самой высокой позиции.
Преобразование выглядит так:
4 × 163 + A × 162 + 3 × 161 + F × 160 = 4 × 4096 + 10 × 256 + 3 × 16 + 15 × 1 = 16,384 + 2560 + 48 + 15 = 19,007
Этот метод особенно полезен для больших шестнадцатиричных чисел. Однако, для небольших чисел из одной или двух цифр, часто быстрее преобразовать шестнадцатиричное число в двоичное перед превращением его в десятичное. Шестнадцатиричный формат поддерживает связь с двоичным, так как он – производный от системы base2. Каждая шестнадцатиричная цифра представляет четыре двоичных разряда. Таблица ниже показывает взаимосвязь между двоичным, шестнадцатиричным, и десятичным форматами для 0x0-0xF.
Десятичный
| Двоичный
| Шестнадцатиричный
|
|
| 0x0
|
|
| 0x1
|
|
| 0x2
|
|
| 0x3
|
|
| 0x4
|
|
| 0x5
|
|
| 0x6
|
|
| 0x7
|
|
| 0x8
|
|
| 0x9
|
|
| 0xA
|
|
| 0xB
|
|
| 0xC
|
|
| 0xD
|
|
| 0xE
|
|
| 0xF
| Таблица 5. Десятичные, двоичные и шестнадцатиричные преобразования
Давайте преобразуем 0x3B к десятичному виду через двоичный. Первый шаг – выяснить, что отдельное шестнадцатиричное число представляет собой в двоичном виде. Заменим шестнадцатиричное число двоичным числом. Так, 0x3B становится 00111011. Как вы помните из предыдущего раздела о двоичном счислении, преобразование числа от двоичного к десятичному намного проще, чем в другие системы, поскольку умножение двоичных разрядов на 0 и 1 — простая операция.
0x3B= 001110112= 32 + 16 + 8 + 2 + 1 = 59
Байт данных (восемь битов) может быть записан в виде двух шестнадцатиричных цифр. Например, символ "N" в расширенном коде ASCII имеет двоичное представление 01001110. Если мы записываем его как две группы из четырех битов каждый, мы получаем 0100.1110. Используя таблицу 5 (выше), мы находим, что 0100 составляет 0x4 и 1110 — 0xE. Поэтому, соответствующий шестнадцатиричный для 0100.1110 есть 0x4E.
Устанавливая или поддерживая компьютерную систему, вы будете иногда сталкиваться с шестнадцатиричными числами как представлениями адресов памяти, сетевых адресов или других величин относящихся к аппаратному обеспечению. Вы, возможно, сталкиваетесь с ними в контексте операционной системы при возникновении сбоев и появлении сообщений об ошибках.
Упражнение
Вы можете поэкспериментировать с преобразованиями между двоичным, десятичным и шестнадцатиричным представлениями, используя приложение Microsoft Calculator.
- В операционной системе Windows, нажав кнопку Start, выберете Programs, (Программы) затем Accessories (Принадлежности), и затем Calculator (Калькулятор). Для выполнения этого задания, вам нужно в меню View (Просмотр) выбрать Scientific (Научный).
· Чтобы использовать калькулятор для преобразования данных, нажмите кнопку Dec, чтобы перевести калькулятор в десятичный режим, наберите число, а затем нажмите кнопку Hex, чтобы превратить число в шестнадцатиричное. Вы можете также преобразовывать из шестнадцатиричного к десятичному; клавиши A-F доступны каждый раз когда вы находитесь в шестнадцатиричном режиме.
- Каким будет шестнадцатиричное представление числа 255? Каков десятичный эквивалент числа 0x4D2?
|
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|