Контрольные задания
Существует ли система счисления, в которой 8+1=10 и 34=13?
Перевести число 198(10) в восьмеричную систему счисления.
Перевести число 1AA(16) в восьмеричную систему счисления.
Перевести число 216(10) в двоичную систему счисления.
Найти сумму всех целых двоичных чисел в диапазоне от 1110(2) до 10001(2) включительно.
Перевести число 1BE7(16) в восьмеричную, двоичную и десятичную системы счисления.
Число 20,45(10) перевели в четверичную систему счисления. Найти 1999 цифру после запятой. Указать период.
Составить таблицу умножения в системе счисления с основанием 2, 3, 4, 5, 8.
Выполнить операции в заданных системах счисления: 21(3)22(3); 31(4)23(4); 100011(2)110011(2);
Выполнить операции деления в заданных системах счисления с точностью до третьего знака после запятой: 21(3):22(3); 31(4) :23(4); 1110011,1101(2) :11001(2) .
Выполнить операции в заданных системах счисления: 221(3) - 22 (3); 231(4)+23(4); 11011(2) 10011(2).
Выполнить операции в заданных системах счисления: 21(3) 12(3); 31(4) - 123(4); F1ABA3011(16) - DFAEE19(16); F5(16) 31; AB(16) 92(16).
Найти наибольшее число из заданных: AB(16); 252(8); 2223(4); 10101101(2); 20102(3).
Найти наименьшее число из заданных: AB(16); 251(8); 2222(4); 10101101(2); 20100(3);
Найти наибольшее число из заданных: B,12(16); 13(8); 23,03(4); 1011,01(2); 101,22(3).
4.2 Хранение данных в эвм
Сегодня ЭВМ является основным инструментом для хранения и обработки информации. ЭВМ может хранить информацию различного типа, обрабатывать различные виды информации, а также делать логическое выводы. ЭВМ хранит информацию в зависимости от ее типа в различных форматах.
Для проведения вычислительных операций компьютер хранит целые числа в двоичной системе в формате со знаком или без знака, вещественные числа в форматах с фиксированной или плавающей запятой, отводя под каждое число определенное количество двоичных ячеек. Хранение логических переменных требует минимального количества двоичных ячеек, т.к. логическая переменная может принимать только значения “да ” или “нет”, т. е. 1 или 0. Хранение символьной, звуковой, видео информации также осуществляется по строго разработанным форматам, которые используются различными программными продуктами, что делает их совместимыми.
Рассмотрим формы и форматы хранения данных, и обработку некоторых видов информации подробнее.
Представление числовых данных в ЭВМ. Элементом для хранения единицы информации является двоичная ячейка, в которой может быть записано либо 0, либо 1. Объем информации, хранимой в такой ячейке, один бит. Восемь таких ячеек, объединенных в группу, позволяет хранить байт (8 бит) информации. Типичным для современных компьютеров объединением таких ячеек является объединение по 4 или 8 байт.
Представление целых чисел. Естественная форма. Используя только один байт, можно записать 28 =256 различных положительных чисел в диапазоне от 0 до 255.
Число |
Разряды двоичного числа | |||||||
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
127 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
255 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
Заметим, что все ячейки отданы под представление самого числа. Очевидно, что если первый разряд выделить под знак числа, то в этом же количестве разрядов можно поместить числа в два раза меньшие по модулю, т.е. от –128 до +127, всего 256 чисел. Например, числа –127 и +127 записываются, как указано в таблице (заштрихованный первый разряд обозначает знак числа).
Число |
Разряды двоичного числа | |||||||
127 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
-127 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
В двух байтах можно расположить расширенный ряд натуральных чисел в диапазоне от 0 до 65535, а целые числа в диапазоне от –32767 до +32767.
В алгоритмических языках введено понятие типа данных. Примерами типов данных являются символы, целые, числа с плавающей точкой. Другие типы данных включают адреса памяти и машинные команды, которые управляют работой компьютера. В языках С++ и Паскаль имеется предопределенный набор типов данных, который позволяет представлять целые числа, числа с плавающей точкой и отдельные символы. Следует отметить, что в некоторых языках (например, в С++) размеры байта и машинного слова различны в разных машинах. Поэтому следует говорить об этих величинах как о машинно-зависимых понятиях.
Существенным недостатком естественной формы представления числа является ограниченный диапазон представления величин. Если результаты вычислений выходят за допустимые пределы, то наступает переполнение разрядной сетки и результат искажается. В персональных ЭВМ обычно производится автоматический переход к представлению данных в нормальной форме.
Представление вещественных чисел в форме с плавающей точкой. Нормализованная форма. Вещественные константы, даже не отличаясь от целых констант по значению, имеют другую форму внутреннего представления в ЭВМ. При операциях с такими константами эта форма требует использования арифметики с плавающей точкой.
В математике форма представления вещественных чисел разнообразна. Любое число можно представить в различной форме записи, например,
A = 125, 25 = 1252510-3 = 0,12525103 = 0,0012525105.
Поэтому для однозначного понимания представления числа в виде кода ЭВМ необходимо ввести стандарт для записи вещественных чисел. Такой стандарт называется нормализованной формой представления вещественного числа. Любое число в нормальной форме представляется в виде
,
где мантисса числаA, q – основание системы счисления, порядок числаA, причем мантисса должна отвечать условию:
.
Ограничение справа требует, чтобы мантисса представлялась правильной дробью, ограничение слева - чтобы после запятой присутствовала значащая цифра (не 0). Так, число 125,25 представляется в нормализованной форме как 0,1252510 3.
Значения вещественных типов позволяют определить произвольное число лишь с некоторой точностью, зависящей от внутреннего формата вещественного числа. В таблице представления вещественных типов указано количество знаков в мантиссе, что определяет точность представления числа, и диапазон десятичного порядка, который определяет диапазон чисел, охватываемых данным типом.
Длина в байтах |
Название типа в языке Паскаль |
Мантисса, значащие цифры |
Диапазон десятичного порядка |
4 |
single |
7…8 |
–45…+38 |
6 |
real |
11…12 |
–39…+38 |
8 |
double |
15…16 |
–324…+308 |
10 |
extended |
19…20 |
–4951…+4932 |
Для представления чисел в нормальной форме используются фиксированные форматы разной длины. Например, для типа длиной в 4 байта в разрядной сетке форматов отводятся места для знака мантиссы (нулевой разряд), знака порядка (первый разряд), значения порядка (6 разрядов, со 2-го по 7-ой), в остальные разряды записывается мантисса числа. В других форматах первый байт не изменяется, а увеличивается область под мантиссу. На рисунке представлена разрядная сетка в формате 4 байта.
Знак |
Знак |
|
|
|
|
|
|
|
|
|
|
mA |
PA |
|
PA |
|
|
|
|
mA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
2 |
. . |
7 |
8 |
9 |
|
… |
|
30 |
31 |
Формат числа в нормальной форме
Диапазон представления чисел можно оценить по максимальному значению: , где
При двоичном представлении числа:
Представление нормальной формы в ЭВМ имеет следующие особенности:
В нормальных форматах 7 разрядов отводится под значение порядка и его знак. Следовательно, числовая ось порядков находится в диапазоне или. Для облегчения действий над порядками делается смещение числовой оси порядков в область положительных значений, где не требуется учитывать знаки порядков. Это смещение равно +26 = 64 = 4016. Смещенный порядок называется характеристикой и обозначается Рх. Характеристика числа не имеет знака и определяется: .
Теперь характеристика может принимать значения в диапазоне =7F16 и под ее значение отводятся 7 разрядов (27 -1 =127). Очевидно, если Рх=4016, то РА = 0, если Рх< 4016, то порядок отрицательный (РА < 0), при Рх> 4016 - порядок положительный (РА > 0). Если Рх < 0 или Рх > 7F16, то значение характеристики пропадает, и результаты искажаются.
Мантиссы и порядки чисел выражаются в шестнадцатеричной системе счисления в двоичном виде. Такое представление обеспечивает увеличение диапазона представляемых чисел, т.к. изменение характеристики на 1 приводит к сдвигу мантиссы на одну шестнадцатеричную цифру, т.е. сразу на одну двоичную тетраду (четыре двоичных разряда).
Действительно, если в формулу подставить q = 16, то Таким образом значение порядка увеличилось в 4 раза.
Представим в разрядной сетке формата в 4 байта два числа: А10 = 41006,5 = А16 = А02Е,8 и В10 = –41006,5 = В16 = –А02Е,8. Для этого найдем нормализованные мантиссы и характеристики: mA = 0,А02Е8, Рх A = 40 + 4= = 44; mB = –0,А02Е8, Рх B = = 40 + 4 = 44.
Знак числа определяется по первой шестнадцатеричной цифре кода числа.