|
Тема 1.1. Числа конечной точностиСтр 1 из 18Следующая ⇒ В результате изучения данной темы Вы будете:
Когда люди выполняют какие-либо арифметические действия, их не волнует вопрос, насколько длинным будет то или иное число. Физики, к примеру, могут вычислить, что во вселенной присутствует 1078 электронов, и их не волнует тот факт, что полная запись этого числа потребует 79 цифр. С компьютерами дело обстоит иначе – они имеют фиксированное количество доступной памяти для хранения чисел, зависящее от того, когда был разработан этот компьютер. Поэтому в компьютерах мы можем иметь дело только с числами, длина которых ограничена. Такие числа называются числами конечной точности. Рассмотрим ряд положительных целых чисел, которые можно записать тремя цифрами (тремя разрядами) без десятичной запятой и без знака. В этот ряд входит ровно 1000 чисел: 000, 001, 002, 003,..., 999. При таком ограничении невозможно выразить определенные типы чисел, например:
Одно из свойств набора всех целых чисел – замкнутость по отношению к операциям сложения, вычитания и умножения. Другими словами, для каждой пары целых чисел i и j, числа i+j, i-j и i×j – тоже целые числа, например: 1+2=3; 11-7=4; 10*12=120. Ряд целых чисел не замкнут относительно деления, поскольку существуют такие значения i и j, для которых i/j не выражается в виде целого числа, например: 7/2 = 3,5; 1/0 = . Числа же конечной точности не замкнуты относительно всех четырех операций. Ниже приведены примеры операций над трехразрядными числами: 600+600 = 1200 (слишком большое число); 003-005 = -2 (отрицательное число); 050×050 = 2500 (слишком большое число); 007/002 = 3,5 (не целое число). Любые отклонения результатов операций от требуемого ряда чисел можно разделить на два класса:
Из четырех примеров, приведенных выше, первые три относятся к первому классу, а четвертый – ко второму классу.
Поскольку размер памяти компьютера ограничен, и он должен выполнять арифметические действия над числами конечной точности, результаты определенных вычислений будут неправильными с точки зрения классической математики. В качестве примера рассмотрим ассоциативный закон: a+(b-c) = (a+b)-c Вычислим обе части выражения для a=700, b=400 и c=300. В левой части сначала вычислим значение (b-с), оно равно 100. Затем прибавим это число к а и получим 800. Чтобы вычислить правую часть, сначала вычислим (а+b). Для трехразрядных целых чисел получится переполнение. Результат будет зависеть от компьютера, но он не будет равен 1100. Вычитание 300 из какого-то числа, отличного от 1100, не даст результата 800. Ассоциативный закон не имеет силы.
Другой пример – дистрибутивный закон: а×(b-с) = a×b-a×с Сосчитаем обе части выражения для а=5, b=210 и с=195. В левой части 5×15=75. В правой части 75 не получается, поскольку a×b выходит за пределы ряда. Исходя из этих примеров, кто-то может сделать вывод, что компьютеры совершенно непригодны для выполнения арифметических действий. Вывод, естествен но, неверен, эти примеры наглядно иллюстрируют важность понимания того, как работает компьютер и какие ограничения он имеет. Подведем итоги
Вопросы для самоконтроля 1. Вспомните особенности и ограничения представления чисел в компьютере. Можно ли сохранить в компьютере любое вещественное число? 2. Можно ли утверждать, что машинная арифметика строго соответствует классической математике? Чем это обусловлено? Приведите примеры. 3. Назовите основные классы отклонений машинной арифметики. 4. Всегда ли выполняются законы алгебры с числами конечной точности? Объясните почему. Тема 1.2. Системы счисления В результате изучения данной темы Вы будете:
Совокупность приемов наименования и записи чисел называется счислением. Под системой счисления понимается способ представления любого числа с помощью ограниченного алфавита символов, называемых цифрами. Счисление представляет собой частный случай кодирования, где слово, записанное с использованием определенного алфавита и по определенным правилам, называется кодом. Применительно к счислению это код числа. Различают позиционные и непозиционные системы счисления. В непозиционных системах счисления каждое число обозначается соответствующей совокупностью символов. Характерным представителем непозиционных систем является римская система счисления со сложным способом записи чисел и громоздкими правилами выполнения арифметических операций. Например, запись MCMXCVIII означает число 1998 (М – тысяча, C – сто, Х – десять, V – пять, I – единица и т. д.). Позиционные системы счисления обладают большими преимуществами в наглядности представления чисел и в простоте выполнения арифметических операций. В позиционной системе счисления значение числа определяется не только набором входящих в него цифр, но и их местом (позицией) в последовательности цифр, изображающих это число, например, числа 127 и 721. Количество цифр, используемых в позиционной системе счисления, называется ее основанием. Его обозначают обычно буквой q. В десятичной системе счисления используется десять цифр: 0,1,2,3,4,5,6,7,8,9, и основанием системы является число десять. В общем случае в позиционной системе счисления с основанием q любое число Х может быть представлено в виде полинома разложения (суммы) (1.1): (1.1) где, X(q) – запись числа в системе счисления с основанием q; q – основание системы счисления; хi – целые числа, меньше q; n – число разрядов (позиций) в целой части числа; m – число разрядов в дробной части числа. Например, десятичное число 429,673 можно представить как: 429,673(10) = 4·102 + 2·101 + 9·100 + 6·10-1 + 7·10-2+3·10-3 Для обозначения используемой системы счисления ее основание указывается в индексе в круглых скобках (в нашем примере, это 10). Изображение числа Х в виде последовательности коэффициентов полинома (хi) – является его условной сокращенной записью (кодом): (1.2) Запятая такой записи отделяет целую часть числа от дробной и служит началом отсчета значений веса каждой позиции (разряда). Т.е., число 429,673(10) является условно сокращенной записью полинома 4 ·102 + 2 ·101 + 9 ·100 + 6 ·10-1 + 7 ·10-2+ 3 ·10-3.
В компьютерах применяются позиционные системы счисления с недесятичным основанием: 2, 8 и 16. Соответствующие системы счисления называютсядвоичной, восьмеричнойишестнадцатеричной.
Наибольшее распространение получила двоичная система счисления. В этой системе для представления любого числа используются две цифры – цифры 0 и 1. Основание системы счисления q = 2. Произвольное число с помощью формулы (1.1) можно представить в виде разложения по степеням двойки: Тогда условная сокращенная запись в соответствии с (1.2) означает изображение числа в двоичной системе счисления (двоичный код числа), где хi = 0 или 1. Например: 13(10) = 1·23 + 1·22 + 0·21 + 1·20 = 1101(2)
В восьмеричной системе счисления используют 8 цифр: 0,1,2,3,4,5,6,7. Основание системы счисления q = 8. Для записи произвольного числа в восьмеричной системе счисления необходимо по формуле (1.1) найти его разложение по степеням восьмерки, а затем воспользоваться условной сокращенной записью (1.2). Например: 28(10) = 3·81 + 4·80 = 34(8) В шестнадцатеричной системе счисления используют цифры: 0,1,2,3,4,5,6,7,8,9,А,В,С,D,Е,F. Основание системы счисления q = 16. Для записи произвольного числа в этой системе счисления необходимо по формуле (1.1) найти его разложение по степеням 16, а по формуле (1.2) – код. Например: 75(10) = 4·161 + В·160 = 4В(16) В дальнейшем, для записи шестнадцатеричных чисел будет применяться суффикс h. Например: AE24h, DEFAh, 1234h и т.д. Для сравнения приведены коды одних и тех же чисел в разных системах счисления (Таблица 1.1).
Таблица 1.1. Коды чисел в различных системах счисления Из Таблица 1.1 видно, что 15(10) = 1111(2) = 17(8) = F(16) Подведем итоги
Вопросы для самоконтроля 1. Вспомните основные понятия. Что такое счисление, системы счисления, код числа, цифра? 2. Назовите виды систем счислений. В чем заключаются их различия? Назовите преимущества позиционных систем счисления. 3. Что такое основание системы счисления? Почему в вычислительной технике удобнее использовать двоичную систему счисления, а не десятичную? 4. Индивидуальные задания 1. Попробуйте перевести в десятичную систему счисления числа: 1010001(2), AE12F(16), 4375(8), 5432(6), 34521(9) _________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ 2. Напишите первые десять положительных целых чисел в семеричной системе счисления: _____________________________________________________________________________________ 3. Напишите основания систем счисления (q <= 10) к которым могут относится следующие числа: 123, 90, 101, 425, 754, 80101, 1301. _______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры... Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все... ЧТО И КАК ПИСАЛИ О МОДЕ В ЖУРНАЛАХ НАЧАЛА XX ВЕКА Первый номер журнала «Аполлон» за 1909 г. начинался, по сути, с программного заявления редакции журнала... Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|