Система вещественных чисел в математических вычислениях предполагается непрерывной и бесконечной, т.е. не имеющей ограничений на диапазон и точность представления чисел. Однако в компьютерах числа хранятся в регистрах и ячейках памяти с ограниченным количеством разрядов. Вследствие этого система вещественных чисел, представимых в машине, является дискретной (прерывной) и конечной.
При написании вещественных чисел в программах вместо привычной запятой принято ставить точку. Для отображения вещественных чисел, которые могут быть как очень маленькими, так и очень большими, используется форма записи чисел с порядком основания системы счисления. Например, десятичное число 1.25 в этой форме можно представить так:
Любое число N в системе счисления с основанием q можно записать в виде N = M . qp, где M — множитель, содержащий все цифры числа (мантисса), а p — целое число, называемое порядком. Такой способ записи чисел называется представлением числа с плавающей точкой.
Если "плавающая" точка расположена в мантиссе перед первой значащей цифрой, то при фиксированном количестве разрядов, отведённых под мантиссу, обеспечивается запись максимального количества значащих цифр числа, то есть максимальная точность представления числа в машине. Из этого следует:
Мантисса должна быть правильной дробью, у которой первая цифра после точки (запятой в обычной записи) отлична от нуля: 0.12 <= |M| < 1. Если это требование выполнено, то число называется нормализованным
Мантиссу и порядок q-ичного числа принято записывать в системе с основанием q, а само основание — в десятичной системе. Примеры нормализованного представления:
Вещественные числа в компьютерах различных типов записываются по-разному, тем не менее, все компьютеры поддерживают несколько международных стандартных форматов, различающихся по точности, но имеющих одинаковую структуру следующего вида:
Здесь порядок n-разрядного нормализованного числа задается в так называемой смещенной форме: если для задания порядка выделено k разрядов, то к истинному значению порядка, представленного в дополнительном коде, прибавляют смещение, равное (2k-1 - 1). Например, порядок, принимающий значения в диапазоне от -128 до +127, представляется смещенным порядком, значения которого меняются от 0 до 255.
Использование смещенной формы позволяет производить операции над порядками, как над беззнаковыми числами, что упрощает операции сравнения, сложения и вычитания порядков, а также упрощает операцию сравнения самих нормализованных чисел.
Чем больше разрядов отводится под запись мантиссы, тем выше точность представления числа. Чем больше разрядов занимает порядок, тем шире диапазон от наименьшего отличного от нуля числа до наибольшего числа, представимого в машине при заданном формате.
Следует отметить, что вещественный формат с m-разрядной мантиссой позволяет абсолютно точно представлять m-разрядные целые числа, т. е. любое двоичное целое число, содержащее не более m разрядов, может быть без искажений преобразовано в вещественный формат.
Упражнения
1. Используя Правило Счета, запишите первые 20 целых чисел в десятичной, двоичной, троичной, пятеричной и восьмеричной системах счисления.
2. Какие целые числа следуют за числами:
1) 12;
6) 18;
11) F16;
2) 1012;
7) 78;
12) 1F16;
3) 1112;
8) 378;
13) FF16;
4) 11112;
9) 1778;
14) 9AF916;
5) 1010112;
10) 77778;
15) CDEF16 ?
3. Какие целые числа предшествуют числам:
1) 102;
6) 108;
11) 1016;
2) 10102;
7) 208;
12)2016;
3) 10002;
8) 1008;
13) 10016;
4) 100002;
9) 1108;
14) A1016;
5) 101002;
10) 10008;
15) 100016 ?
4. Какой цифрой заканчивается четное двоичное число? Какой цифрой заканчивается нечетное двоичное число? Какими цифрами может заканчиваться четное троичное число?
5. Какое наибольшее десятичное число можно записать тремя цифрами:
1) в двоичной системе;
2) в восьмеричной системе;
3) в шестнадцатеричной системе?
6. В какой системе счисления 21 + 24 = 100? Решение. Пусть x — искомое основание системы счисления. Тогда 100x = 1 · x2 + 0 · x1 + 0 · x0, 21x = 2 · x1 + 1 · x0, 24x = 2 · x1 + 4 · x0. Таким образом, x2 = 2x + 2x + 5 или x2 - 4x - 5 = 0. Положительным корнем этого квадратного уравнения является x = 5. Ответ. Числа записаны в пятеричной системе счисления.
7. В какой системе счисления справедливо следующее:
1) 20 + 25 = 100;
2) 22 + 44 = 110?
8. Десятичное число 59 эквивалентно числу 214 в некоторой другой системе счисления. Найдите основание этой системы.
9. Переведите числа в десятичную систему, а затем проверьте результаты, выполнив обратные переводы:
1) 10110112;
6) 5178;
11) 1F16;
2) 101101112;
7) 10108;
12) ABC16;
3) 0111000012;
8) 12348;
13) 101016;
4) 0,10001102;
9) 0,348;
14) 0,А416;
5) 110100,112;
10) 123,418;
15) 1DE,C816.
10. Переведите числа из десятичной системы в двоичную, восьмеричную и шестнадцатеричную, а затем проверьте результаты, выполнив обратные переводы:
23. Выполните вычитания чисел путем сложения их обратных (дополнительных) кодов в формате 1 байт. Укажите, в каких случаях имеет место переполнение разрядной сетки:
1) 9 - 2;
4) -20 - 10;
7) -120 - 15;
2) 2 - 9;
5) 50 - 25;
8) -126 - 1;
3) -5 - 7;
6) 127 - 1;
9) -127 - 1.
Тестовые задания
Число 16 десятичной системы запишется в двоичной системе:
А) 32
В) 8
С) 10000
D) 10
Е) 1А
Сколько будет 410 + 610 в двоичной системе?
А) 1010
В) 10
С) 10000
D) A
E) 8
Сколько будет 102 +1102 в десятичной системе?
А) 120
В) 8
С) 100
D) 11010
Е) 10
Сколько будет 10012+ 1112 (в той же двоичной системе)?
А) 1112
В) 10001
С) 11111
D) 0
E) 10000
Число 16 десятичной системы запишется в 16-ричной системе:
А) А
В) В
С) С
D) 10
Е)11
Сколько будет 416 +1016 в десятичной системе:
А) 20
В) 14
С) 6
D) E
E) 104
Сколько будет 410+ 610 в 16-ричной системе?
А) 10
В) В
С) С
D) D
E) A
Сколько будет 10012 + 1112 в 16-ричной системе:
А) 10
В) В
С) С
D) D
E) 16
Даны числа, записанные в двоичной системе счисления как 101 и число, записанное в десятичной системе счисления как 55. Их сумма в десятичной системе счисления записывается в виде...
А) 60
В) 58
С) 111100
D) 156
Число в десятичной системе счисления имеет вид 11. Следующее за ним целое число в двоичной системе записывается в виде ...
А) 1100
В) 1011
С) 1010
D) 12
Как запишется число 100111012 в 16-ричной системе счисления:
A) 9D
В) 913
С) D9
D) 139
Для хранения целых чисел отведено 8 разрядов. Старший разряд знаковый. Как запишется число -710 в дополнительном коде?
A) 10000001
В) 00000001
С) 1000111
D) 10010000
E) 11111001
13. Для хранения целых чисел в ЭВМ отведено 8 разрядов, старший разряд знаковый. Даны два десятичных числа -7 и 3. Результат сложения этих чисел, представленных в дополнительном коде будет
A) 01111100
B) 11111100
C) 10000100
D) 00000100
14. Как запишется число 27416 в двоичной системе счисления?
A) 10111100
B) 001011100100
C) 1001110100
D) 101111100
15. Для хранения целых чисел в ЭВМ отведено 8 разрядов, старший разряд знаковый. Результатом сложения чисел, представленных в дополнительном коде 000001102 и __________ стало число 00000010
А) 10000100
В) 00000100
С) 11111011
D) 11111100
16. В саду 111 фруктовых деревьев - 14 яблонь и 42 груши. Деревья были посчитаны в следующей системе исчисления:
A) двоичной
В) десятичной
С) пятеричной
D) шестнадцатеричной
17. Какое максимальное целое число со знаком можно записать с помощью 1 байта?