Лекция
доцента кафедры системного программирования и
компьютерной безопасности
Гродненского госуниверситета имени Янки Купалы
канд. техн. наук Ливак Елены Николаевны
по
дисциплине «Организация и функционирование компьютерных систем»
Способы представления и
форматы данных.
Типы данных
В
лекции:
Основные
типы данных с точки зрения размерности
Представление
данных
Представление целых чисел
Вещественные числа
Представление символьных данных
Логическая
интерпретация основных типов данных
С точки зрения размерности микропроцессор аппаратно
поддерживает следующие основные типы данных:
-
байт;
-
слово;
-
двойное слово;
-
учетверенное слово.
Байт — восемь последовательно расположенных битов.
Биты
нумеруются от 0 до 7, при этом бит 0 является самым младшим значащим битом.
Обратим
внимание, байт – наименьшая адресуемая ячейка памяти.
Байт
|
|
|
|
|
|
|
|
7 6
5 4 3
2 1 0
Рис. 1. Основные типы
данных: байт
Слово — два последовательно расположенных байта, 16 бит.
Биты
нумеруются от 0 до 15.
Байт,
содержащий нулевой бит, называется младшим байтом, а второй байт ¾ старшим байтом.
Напомним,
что в микропроцессорах Intel младший
байт всегда хранится по меньшему адресу. Поэтому адресом слова считается адрес
его младшего байта.
Слово
Старший байт |
Младший
байт |
15 7 0
Рис. 2. Основные типы
данных: слово
Двойное слово — два последовательно расположенных слова (четыре байта), 32 бита.
Биты
нумеруются от 0 до 31. Слово, содержащее нулевой бит, называется младшим
словом, второе слово называется старшим словом. Младшее слово хранится по
меньшему адресу. Адресом двойного слова считается адрес его младшего слова.
Двойное
слово
Старшее
слово |
Младшее
слово |
31
15
0
Рис. 3. Основные типы
данных: двойное слово
Учетверенное
слово — четыре последовательно расположенных слова
(восемь байт), 64 бита.
Биты нумеруются от 0
до 63. Двойное слово, содержащее нулевой бит, называется младшим двойным
словом, а второе двойное слово — старшим двойным словом. Младшее двойное слово
хранится по меньшему адресу. Адресом учетверенного слова считается адрес его
младшего двойного слова.
Учетверенное
слово
Старшее
двойное слово |
Младшее
двойное слово |
63
31
0
Рис. 4. Основные типы
данных: учетверенное слово
Обычно на практике программными средствами обрабатываются данные, представленные целыми
и вещественными числами, а также символами.
Из этих простых типов данных строятся так
называемые структурированные типы:
массивы, множества, строки символов, записи (структуры) и другие.
Поэтому важно понимать, прежде всего, как именно
с точки зрения микропроцессора представляются и обрабатываются простые типы
данных.
Для представления
числа в памяти отводится необходимое количество байт.
Известно,
что в ячейке из k
разрядов можно записать 2k
различных комбинаций из 0 и 1.
Для
хранения (записи) беззнакового числа используются все биты
отведенных для его представления ячеек.
Следовательно,
с помощью 8 разрядов одного байта можно представить 28 = 256 целых
беззнаковых чисел, то есть числа в диапазоне от 0 до 255.
С
помощью 16 разрядов слова можно представить 216 = 65536 целых
беззнаковых чисел, то есть числа в диапазоне от 0 до 65535.
Четырьмя
байтами двойного слова (32 бита) можно представить числа в диапазоне от 0 до 232 . А учетверенное слово
позволяет представить 264 различных целых беззнаковых чисел.
Диапазон
представления знаковых чисел отличается от диапазона
представления беззнаковых чисел, потому что один бит используется для
обозначения знака числа. Для этого в так называемый знаковый разряд числа
записывается 0 для положительного числа и 1 для отрицательного числа. Такое
представление знаковых чисел называется прямым кодом.
Поэтому,
с помощью одного байта могут быть представлены только 27 = 128
отрицательных чисел и 128 положительных чисел.
То есть с помощью 8 разрядов одного байта могут быть записаны числа в
диапазоне от –128 до +127 (включая 0).
Два байта слова при одном отведенном бите на знак
числа, соответственно, позволяют представить 215 = 32768
отрицательных чисел и 32768 положительных чисел, то есть числа в диапазоне от
–32 768 до +32 767 (включая 0).
Для
представления в памяти компьютера отрицательных чисел используются специальные
коды:
-
обратный код;
-
дополнительный код.
Специальные коды для представления отрицательных чисел необходимы в
силу того, что алгоритм вычитания чисел является достаточно сложным для
выполнения с помощью устройств компьютера, и потому операция вычитания
заменяется операцией сложения, но для этого отрицательные числа должны быть
представлены особым образом.
При
записи отрицательного числа в обратном коде в знаковый разряд
записывается 1, все остальные разряды числа инвертируются (то есть вместо
единиц записываются нули, вместо нулей – единицы). Например, отрицательное
двоичное число 1110010 в обратном коде будет иметь вид 10001101.
При
записи отрицательного числа в дополнительном коде в знаковый разряд
также помещается 1, все разряды инвертируются, а затем к младшему разряду
прибавляется 1. Например, двоичное число из предыдущего примера 1110010 в
дополнительном коде будет иметь вид 10001110, так как
10001101
+
1
---------------
10001110
Таким
образом, использование дополнительного или обратного кода позволяет операцию
вычитания свести к операции сложения: X – Y = X + (-Y).