- •Лекция №8
- •Целые числа без знака и со знаком
- •Числа с фиксированной запятой (точкой)
- •Числа с плавающей запятой (точкой)
- •Свойства множества чисел с плавающей запятой (точкой)
- •Типы чисел с плавающей запятой (точкой)
- •Округление чисел с плавающей запятой (точкой)
- •Исключения
- •Алгоритм Малкома
- •Выполнение операций над числами с плавающей запятой
- •Кодирование символьной информации
- •Двоичные файлы
- •Текстовые файлы.
- •Краткая информация о других системах кодирования
- •Универсальная система кодирования текстовых данных
- •Примеры кодирования текстовой информации
- •Список литературы
________________________________________________________________________________
Лекция №8
«Международный факультет прикладных информационных технологий
Бакалавриат «Информатика и вычислительная техника»
Представление данных
Определение. Байтом называется последовательность из восьми бит. Байт является минимально адресуемым элементом памяти.
Определение. Словом называется последовательность из двух байтов. Адресом слова является адрес младшего байта и всегда является положительным (ноль рассматриваем как положительное число). Длина слова равна 16 битам.
Определение. Двойным словом называется последовательность из четырёх байтов. Адресом двойного слова является адрес младшего байта и всего является положительным (ноль рассматриваем как положительное число). Длина двойного слова равно 32 битам.
Рассмотрим следующие виды чисел, представляемых в памяти машины:
целые числа без знака
целые числа со знаком
числа с фиксированной запятой (точкой)
числа с плавающей запятой (точкой)
Целые числа без знака и со знаком
Числа без знака получили свое название потому, что среди этих чисел нет отрицательных. Количество различных чисел, которые можно записать в байте, слове или двойном слове определяется числом сочетаний с повторениями из 2 соответственно по 8, 16, 32. Таким образом, количество различных чисел следующее:
28 = 256 для байта
216 = 65536 для слова
232 = 4294967296 для двойного слова.
Целые числа без знака – это самый простой вид чисел: они представляют собой весь диапазон двоичных чисел, которые можно записать в байте, слове или двойном слове.
Диапазоны изменения целых чисел без знака следующие:
00H ( 0) - FF (255) для байта;
0000 ( 0) – FFFF (65535) для слова;
00000000 ( 0) – FFFFFFFF (4294967295) для двойного слова.
В представлении целых числа со знаком старший разряд используется как знаковый, а остальные используются для записи числа. Диапазоны изменения целых чисел со знаком следующие:
80H (-128) - 7FH (127)
8000H (-32768) - 7FFF (32767)
Определение. Прямым кодом называется двоичная запись неотрицательного целого числа.
Определение. Обратным кодом называется запись, полученная поразрядной инверсией прямого кода.
Определение. Дополнительным кодом называется запись, полученная прибавлением 1 (единицы) к обратному коду.
Отрицательные двоичные числа содержат единичный бит в старшем разряде и выражаются в дополнительном коде. Для представления отрицательного целого двоичного числа необходимо инвертировать все биты, равного по модулю положительного числа, а затем прибавить 1. Иными словами необходимо найти последовательной кодов чисел: прямой код, обратный код, дополнительный.
Исходное двоичное число (соответствует десятичному 65) |
01000001 |
Инверсные биты: |
10111110 |
Плюс 1, т.е. дополнительный код (соответствует десятичному числу (-65) |
10111111 |
Сумма 65 и (-65) должна составлять ноль. Получим:
|
01000001 |
+ |
10111111 |
|
00000000 |
Все восемь бит имеют нулевое значение. Перенос единичного бита влево потерян.
Следует подчеркнуть, что знак числа условен. Одно и то же число, например FBH можно интерпретировать как число со знаком, так и число без знака.
Если битовую комбинацию представленную шестнадцатеричным числом FBH рассматривать как целое со знаком, то её значение будет равно (-5).
Если битовую комбинацию представленную шестнадцатеричным числом FBH рассматривать как целое без знака, то её значение будет рано 251.
Дадим выборочную таблицу 16-битовых чисел с указанием из машинного представления, а также значений без знака и со знаком. Из этой таблицы видно, что чисел со знаком размером в слово диапазон положительных значений простирается от 0 до 32767, а диапазон отрицательных значений до (-1) до (-32768).
16-ричное представление |
Десятичное представление без знака |
Десятичное представление со знаком |
|
0000H |
0 |
0 |
Ноль |
0001H |
1 |
+1 |
Минимальное положительное число |
0002H |
2 |
+2 |
|
0003H |
3 |
+3 |
|
0004H |
4 |
+4 |
|
… |
… |
… |
|
7FFCH |
32764 |
+32764 |
|
7FFDH |
32765 |
+32765 |
|
7FFEH |
32766 |
+32766 |
|
7FFFH |
32787 |
+32767 |
Максимальное положительное число |
8000H |
32768 |
-32768 |
Минимальное отрицательное число |
8001H |
32769 |
-32767 |
|
8002Н |
32770 |
-32766 |
|
8003H |
32771 |
-32765 |
|
… |
… |
… |
|
FFFBH |
65531 |
-0005 |
|
FFFCH |
65532 |
-0004 |
|
FFFDH |
65533 |
-0003 |
|
FFFEH |
65534 |
-0002 |
|
FFFFH |
65535 |
-0001 |
Минимальное отрицательное число |
Среди команд процессора, выполняющих обработку чисел, можно выделить команды, безразличные к знаку числа (например, inc, add), команды предназначенные для обработки чисел без знака (ja, jb), а также команды, специально рассчитанные на обработку чисел со знаком (jg, jl).
