
- •2. Простые структуры данных
- •2.1. Числовые типы
- •2.1.1. Целые типы
- •Представление в памяти.
- •2.1.2. Вещественные типы
- •4). Число 0.0;
- •5). Числа верхней и нижней границ положительного диапазона
- •1). Число -15.375;
- •2). Число -0.1875;
- •3). Десятичное число 4.5;
- •4). Значения верхней и нижней границ чисел отрицательного диапазона
- •1). Число 15.375;
- •2). Десятичное число 0.0375;
- •3). Десятичное число 2.5;
- •4). Значения верхней и нижней границ диапазона положительных чисел:
- •1). Число -15.375;
- •2). Число 1.0;
- •3). Значения верхней и нижней границ диапазона положительных чисел
- •2.1.3. Десятичные типы
- •2.1.4. Операции над числовыми типами
- •2.2. Битовые типы
- •2.3. Логический тип
- •2.4. Символьный тип
- •2.6. Интервальный тип
- •2.7. Указатели
- •2.7.1. Физическая структура указателя
- •2.7.2. Представление указателей в языках программирования
- •2.7.3. Операции над указателями.
4). Число 0.0;
Машинное представление числа:
00000000 00000000 00000000 00000000 00000000 00000000
5). Числа верхней и нижней границ положительного диапазона
~1.7*10^38 -
11111111 11111111 11111111 11111111 11111111 01111111
~2.9*10^(-35) -
00000001 00000000 00000000 00000000 00000000 00000000
Машинное представление данных типа SINGLE
Формат машинного представления данных типа SINGLE следующий:
мл. байт ст. байт
7 0 15 8 23 22 16 31 30 24 - номера разрядов памяти
м....м м....м х м...м s х...х
-16 -23 -8 -15 0 -1 -7 7 1 - показатели степеней разрядов
мантиссы и характеристики
где: s - знаковый разряд, х - характеристика числа, м - нормализованная мантисса.
Например:
1). Число -15.375;
в двоичной системе счисления -1111.011;
нормализованное двоичное число -1.111011*2^3; р=3.
Учитывая отбрасывание неявной единицы и сдвиг порядка, получаем: s=1; х=2^7-1+3=2^7+2^1=130;
в двоичной системе счисления х=10000010; м=1110110...0;
машинное представление числа в формате SINGLE:
00000000 00000000 01110110 11000001
2). Число -0.1875;
в двоичной системе счисления -0.0011;
нормализованное двоичное число -1.1*2^(-3); р=-3.
Учитывая отбрасывание неявной единицы и сдвиг порядка, получаем: s=1; х=2^7-1-3=2^7-2^2;
в двоичной системе счисления х=01111100; м=100...0;
машинное представление числа в формате SINGLE:
00000000 00000000 01000000 10111110
3). Десятичное число 4.5;
аналогичные выкладки дают нормализованную мантиссу: 1.00100...0;
машинное представление числа:
00000000 00000000 10010000 01000000
4). Значения верхней и нижней границ чисел отрицательного диапазона
~-3.4*10^38 - 11111111 11111111 01111111 11111111
~-.4*10^(-45) - 00000001 00000000 00000000 10000000
Машинное представление данных типа DOUBLE
Формат машинного представления данных типа DOUBLE следующий:
мл.байт ст.байт
7 0 15 8 23 16 31 24 39 32 47 40 55 52 51 48 63 56
м...м м...м м...м м...м м...м м...м х..х м...м s x..x
-44 -50 -37 -43 -29 -36 -21 -28 -13 -20 -5 -12 3 0 -1 -4 10 4
где:
верхняя строка цифр от 0 до 63 - номера разрядов памяти;
нижняя строка цифр от -50 до -1 - показатели степеней разрядов мантиссы; от 0 до 10 - разрядов характеристики; s - знаковый разряд числа; м - нормализованная мантисса; х - характеристика числа (x=2^10-1+p, где p - порядок нормализованного числа).
Например:
1). Число 15.375;
в двоичной системе счисления 1111.011;
результат нормализации 1.111011*2^3; р=3.
Учитывая отбрасывание скрытой единицы и сдвиг порядка, получаем: s=0; x=2^10-1+3=2^10+2^1=1026;
в двоичной системе счисления х=10000000010; m=1110110...0;
машинное представление числа в формате DOUBLE:
0 00000000 00000000 00000000 00000000 31
32 00000000 11000000 00101110 01000000 63
2). Десятичное число 0.0375;
в двоичной системе счисления 0.011;
результат нормализации 1.1*2^(-2); р=-2.
Учитывая отбрасывание скрытой единицы и сдвиг порядка, получаем: s=0; x=2^10-2^1-2^0=2^10-3; в двоичной системе счисления х=01111111101; m=100...0;
машинное представление числа в формате DOUBLE:
0 00000000 00000000 00000000 00000000 31
32 00000000 00000000 11011000 00111111 63