![](/user_photo/2706_HbeT2.jpg)
- •Глава 1. Представление данных в компьютере
- •1.1. Принципы представления данных
- •1.2. Системы счисления, используемые для представления данных (с основанием 2n)
- •Двоично-восьмеричная таблица
- •1.3. Представление символьной информации в пк
- •1.4. Форматы представления чисел
- •Форматы чисел в памяти пк
- •Упражнения
- •Глава 2. Основы алгоритмизации
- •2.1. Алгоритмы и величины
- •Данные и величины
- •2.2. Линейные вычислительные алгоритмы
- •2.3. Ветвления и циклы в вычислительных алгоритмах Составим алгоритм решения квадратного уравнения
- •2.4. Вспомогательные алгоритмы и процедуры
- •Упражнения
Форматы чисел в памяти пк
Формат данных |
Число байт |
Число значащих десятичных цифр |
Диапазон значений |
короткое вещественное DD |
4 |
6–7 |
±1.2×10-38÷3.4×1038 |
длинное вещественное DQ |
8 |
15–16 |
±2.3×10-308÷1.8×10308 |
расширенное вещественное DT |
10 |
19–20 |
±3.4×10-4932÷1.2×104932 |
целое слово IW |
2 |
4–5 |
(-32768) ÷(+32767) |
короткое целое ID |
4 |
9 |
- 231 ÷ 231-1 |
длинное целое IQ |
8 |
18 |
- 263 ÷ 263-1 |
S |
характеристика |
мантисса |
DD |
S |
характеристика |
мантисса |
DQ |
31 30 23 22 0 63 62 52 51 0
S |
характеристика |
мантисса |
DT |
79 78 64 63 0
S |
|
IW |
S |
|
ID |
15 14 0 31 30 0
S |
|
IQ |
63 62 0
Вещественные числа в каждом из трех форматов имеют три поля: поле знака мантиссы S, поле порядка и поле мантиссы. Мантисса числа записывается в нормализованном виде:
1.m1m2 … mi.
Целая часть, всегда равная 1, прямо не представляется в форматах DD и DQ, а учитывается неявно. В формате DT старший бит мантиссы представляется явно.
Порядок вещественных чисел Е записывается в поле порядка в смещенном виде. Он равен истинному порядку, увеличенному на значение смещения:
Е = истинный порядок+ смещение.
Смещенный порядок называется также характеристикой; ее можно считать целым положительным или беззнаковым числом. Задание порядка в форме со смещением упрощает операцию сравнения чисел с плавающей точкой, превращая ее в операцию сравнения целых чисел.
Значение смещения для соответствующих форматов равно 127, 1023 и 16383:
(-1)S×(1. m1m2 … m23)×2E-127 для DD;
(-1)S×(1. m1m2 … m52)×2E-1023 для DQ;
(-1)S×(1. m1m2 … m64)×2E-16383 для DT.
Все числа хранятся в памяти так, что младшая цифра находится по меньшему (начальному) адресу. Численные команды обращаются к операндам и сохраняют результаты, используя только этот начальный адрес.
Представление целых чисел в пк
Чтобы получить внутреннее представление целого положительного числа N, нужно:
перевести число N в двоичную систему счисления,
полученный результат дополнить слева незначащими нулями до полного заполнения формата целого числа.
Пример. Получить внутреннее представление 9710.
97|16 9710=6116=0110 00012
6
1
0 |
000 0000 0110 0001 |
15 14 0
Используя шестнадцатеричную систему, этот код можно написать в 4 раза короче:
0061.
Для записи внутреннего представления целого отрицательного числа -N, нужно:
получить внутреннее представление целого положительного числа N;
получить обратный код этого числа заменой 0 на 1 и 1 на 0 (инвертирование);
к полученному числу прибавить 1 – получается дополнительный код.
При сложении числа в дополнительном коде с его положительным значением знаковые разряды складываются как единое целое вместе с числом. Перенос единицы из знакового разряда выходит за пределы ячейки памяти и теряется. Следовательно: N + (-N) = 0, как и должно быть.
Примеры:
1.Получить внутреннее представление -710.
1)Перевод: 710=1112;
2)
-
1
000 0000 0000 0111
15 14 0
3)
-
1
111 1111 1111 1000
15 14 0
4)
-
1
111 1111 1111 1001
15 14 0
В шестнадцатеричной форме: FFF9.
2. Сложим два числа +710 и –710.
-
0000 0000 0000 0111
+7
-7
0
1111 1111 1111 1001
1
0000 0000 0000 0000
Представление вещественных чисел в пк
Перевести A10 → A2.
Нормализовать число.
Выполнить смещение порядка.
Перевести смещенный порядок Е10 → Е2.
Записать число в подходящем формате.
Пример. Число 98.4 записать во внутреннем представлении.
98 |16 9810 = 6216 =0110 00102 ; ×|2 98.410 = 0110 0010.001100112 ;
6 0|4
0|8
1|6
1|2
0|4
1.1000 1001 1001… ×26 ;
Е10 = 127+6=133;
133 |16 13310=8516 =1000 01012 ;
128 8
5
5) Подходящий формат DD.
0 |
100 0010 1 |
100 0100 1100 1000 0000 0000 |
=> 42C4C800 |
31 30 23 22 0